Программирование форм на vba

Vba_формы

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «МАМИ» А.Н. Любин СОЗДАНИЕ ПОЛЬЗОВАТЕЛЬСКИХ ФОРМ В VISUAL BASIC FOR APPLICATIONS Учебное пособие по дисциплинам «Информатика» и «Информационные технологии» для студентов всех направлений и специальностей Москва 2012

УДК 681.3.06 Разработано в соответствии с Государственным образовательным стандартом 2008 г. Для всех направлений и специальностей на основе примерных программ по дисциплинам «Информатика» и «Информационные технологии». Рецензенты: генеральный директор «Института информационных технологий», д.т.н., профессор В. Г. Зубков; профессор кафедры «Информационные системы и дистанци- онные технологии» МГТУ «МАМИ» к.т.н. А. И. Макаров. «СОЗДАНИЕ ПОЛЬЗОВАТЕЛЬСКИХ ФОРМ В VISUAL BASIC FOR APPLICATIONS» учебное пособие по дисциплинам «Информатика» и «Информационные технологии» для студентов всех направлений и специальностей: М.,МГТУ « МАМИ», 2012 Кафедра «Информационные системы и дистанционные технологии» Пособие ориентировано на изучение темы « Пользовательские формы VBA в Microsoft Office», а именно в Excel и получение навыков в создании пользовательских форм при решении задач на ПК. © А.Н. Любин © МГМУ «МАМИ», 2012 2

Введение Язык программирования VBA (Visual Basic for Applications) объектно-ориентированный язык программирования, базируется на синтаксисе и операторах языка Visual Basic. VBA встроен в среду всех основных, популярных офисных приложений, и позволяет манипулировать их объектами, используя их методы и свойства. Чаще всего основным офисным приложением, в котором пользователь создаѐт свои приложения, является MS Excel. Поэтому в настоящем учебном пособии рассматривается программирование на VBA именно в Excel. В VBA, как и в большинстве языков, любые приложения, обладающие пользовательским интерфейсом, создаются (программируются) на основе специальных средств – пользовательские формы или экранные формы. Именно этот раздел VBA, как наиболее интересный и трудно усваиваемый, рассматривается в данном учебном пособии . Предполагается, что читатель знаком с элементами структурного программирования на VBA. Пользовательские формы дают возможность пользователю создавать разнообразные диалоговые окна в разрабатываемых приложениях и размещать в окнах элементы управления. В учебном пособии подробно рассмотрены примеры создания пользовательских форм и процедур к ним, предложены задания для самостоятельного выполнения. Пособие может использоваться, как в учебном процессе при изучении VBA, так и при самостоятельном обучении. Примеры создания пользовательских форм, их процедур и изображения диалоговых окон, приведѐнные в пособии, выполнены в среде MS Office 2007. 3

Читайте также:  Лисп язык программирования доклад

1. Объекты, методы, свойства и события в VBA VBA относится к языкам объектно-ориентированного программирования, поэтому знакомство с ним следует начать с понятия объекта. Объект — основной элемент VBA Excel. В VBA объектами являются рабочая книга, рабочий лист и его составляющие, например: Sheet — лист Excel; Cell — ячейка; Range — диапазон ячеек; Application — приложение; UserForm — пользовательская форма. CommandButton –кнопка, и другие. Работа с объектами возможна через его методы и свойства. Над объектами можно совершать различные действия. Методы это действия, совершаемые над объектами. Например, ячейку или диапазон ячеек можно очистить (Clear), можно выбрать (Select), приложение закрыть (Quit), пользовательскую форму показать (Show) или скрыть (Hide). Название метода отделяется от названия объекта точкой: название объект . название метода Ниже приведены примеры использования методов применительно к объектам: Range(«B2:E2»).Select — выбрать диапазон ячеек B2:E2; Range(«C1:C5»).Clear — очистить диапазон ячеек C1:C5; UserForm2.Hide — скрыть форму под номером 2; UserForm5.Show — показать форму под номером 5; Application.Quit — выйти из приложения. Свойства служат для описания, задания характеристик объектов. Например, размера и цвета шрифта, положения формы на эк- 4

ране или состояние объекта (доступность, видимость), задания значений. Чтобы задать или изменить характеристику объекта, надо изменить значение его свойства, т.е. присвоить ему определенные значения. Синтаксис задания значения свойства следующий: Объект.Свойство = Значение Свойства где: Объект — обозначает имя объекта; Свойство — имя свойства, которому присваивается значение, имя объекта отделяется от имени свойства точкой. Ниже приведены примеры задания свойств объектам: Range(«В1»).Value = 2011 — поместить в ячейку В1 значение 2011. Range(«А1:А12»).Text = «Программа» — поместить в диапазон ячеек А1:А12 текст Программа. Range(«С2»).Font.Size = 18 — в ячейке С2 установить размер шрифта 18. Свойства: Value ( позволяет задать значение), Text (ввод текста), Font.Size (задание размера шрифта). Событие представляет собой действие, например, щелчок мышью или нажатие клавиши, перемещение мыши или выход из программы, для которого можно запрограммировать отклик, т.е. реакцию объекта на произошедшее событие. В языке программирования VBA для каждого объекта определен набор стандартных событий. Например, стандартное событие для объекта CommandButton (кнопка) — Click (щелчок мышью). Если пользователь нажимает на кнопку, то это событие. На это событие должен быть отклик, т.е. выполнение какой-либо процедуры (программы). Такая процедура называется процедурой обработки события и имеет стандартное имя. Если такой отклик не создан, 5

Читайте также:  Электронная верстка документа word

т.е. не написана соответствующая процедура, то система не будет реагировать на это событие. Для каждого события можно написать процедуру, которая будет срабатывать именно тогда, когда это событие произойдет. На каждое событие пишется своя процедура, которая это событие обрабатывает, т. е. выполняет определенные действия, которые должны быть выполнены, когда это событие происходит. Особое значение понятие события имеет при написании процедур реакций пользовательской формы на изменения ее элементов. 2. Пользовательские формы При работе в Excel, как и в большинстве, других приложениях, приходиться сталкиваться с такими элементами интерфейса, как диалоговые окна. Диалоговые окна используются повсеместно для получения информации для ввода и вывода сообщений и данных. Одним из объектов VBA, объектом визуализации являются UserForm — пользовательские формы. Пользовательские формы UserForm — это диалоговые окна интерфейса процедур VBA. С их помощью пользователь может эффективно передавать данные в процедуры и получать результаты их работы. Пользовательские формы дают возможность пользователю создавать диалоговые окна в разрабатываемых приложениях и размещать в окнах элементы управления. В VBA есть две функции – MsgBox и InputBox, которые позволяют отображать простые диалоговые окна, не создавая пользовательскую форму. Эти окна можно видоизменять, использовать управляющие ими параметры, но они не имеют тех широких и эффективных возможностей, опций которые предоставляют пользовательские формы. 6

VBA предлагает обширные возможности, которые можно использовать при создании пользовательских диалоговых окон, для программирования элементов управления, размещаемых непосредственно на листах Excel, или для работы с диалоговыми окнами, встроенными в Excel. Дополнительные сведения об этих возможностях см. в разделе «Элементы управления, диалоговые окна и формы» в справочном руководстве разработчика для Excel 2007. В последующих разделах мы подробно рассмотрим процесс создания пользовательских форм. Создание пользовательской формы Чтобы создать форму, откройте редактор Visual Basic для этого нажмите (Alt + F11) или выберете на ленте вкладку « Разработчик», а на ней Visual Basic см. рис.1 Рис.1

Читайте также:  Что такое dev в программировании
В открывшемся окне Microsoft Visual Basic см. рис. 2 выбрать
на ленте вкладку Insert. В открывшемся меню выбрать UserForm .
7

Рис. 2 На экране появилась пустая форма UserForm1 см. рис.3, инструментальная панель Toolbox и при нажатии правой кнопки мыши контекстное меню с предложением Properties – свойства формы . Рис.3 8

2.1. Элементы управления На инструментальной панели Toolbox см. рис.3 расположены следующие элементы управления, которые являются объектами VBA : TextBox — поле, Label — надпись, CommandButton — кнопка, ListBox — список, ComboBox — поле со списком, ScrollBar — полоса прокрутки, SpinButton — счетчик, OptionButton — переключатель, CheckBox — флажок , ToggleButton — выключатель, Frame — рамка, Image — рисунок, RefEdit — RefEdit, MultiPage — набор страниц. Любой из этих элементов управления, объектов можно разместить на форме. Например, можно поместить кнопку. Для этого мышью перетаскиваем на форму объект или элемент управления под названием CommandBatton, расположенный вторым слева в третьем ряду панели Toolbox. На форме появиться кнопка CommandBatton1 см. рис. 4. Рис. 4 9

2.2.Свойства элементов управления Выбрав в контекстном меню см. Рис. 3 Propertiesсвойства формы, в открывшемся окне см. рис. 5, можно изменить заголовок элементов формы, в частности кнопки, еѐ шрифт, цвет фона, добавить картинки, добавить и изменить многие другие свойства. Наиболее часто используемые свойства объекта UserForm: Name — возвращает имя пользовательской формы, Caption — возвращает текст, отображаемый в строке заголовка формы, BackColor — возвращает цвет фона формы, BorderStyle — устанавливает тип границы, Picture — указывает рисунок, отображаемый как фон формы. Рис.5 10

Источник

VBA Excel. Первая форма (для начинающих)

Создайте или откройте файл Excel с расширением .xlsm (Книга Excel с поддержкой макросов) или с расширением .xls в старых версиях приложения.

Перейдите в редактор VBA, нажав сочетание клавиш «Левая_клавиша_Alt+F11».

В открывшемся окне редактора VBA выберите вкладку «Insert» главного меню и нажмите кнопку «UserForm». То же подменю откроется при нажатии на вторую кнопку (после значка Excel) на панели инструментов.

На экране редактора VBA появится новая пользовательская форма с именем «UserForm1»:

Добавление элементов управления

Обычно вместе с пользовательской формой открывается панель инструментов «Toolbox», как на изображении выше, с набором элементов управления формы. Если панель инструментов «Toolbox» не отобразилась, ее можно вызвать, нажав кнопку «Toolbox» во вкладке «View»:

При наведении курсора на элементы управления появляются подсказки.

Найдите на панели инструментов «Toolbox» элемент управления с подсказкой «TextBox», кликните по нему и, затем, кликните в любом месте рабочего поля формы. Элемент управления «TextBox» (текстовое поле) будет добавлен на форму.

Найдите на панели инструментов «Toolbox» элемент управления с подсказкой «CommandButton», кликните по нему и, затем, кликните в любом месте рабочего поля формы. Элемент управления «CommandButton» (кнопка) будет добавлен на форму.

Кликнув по элементу управления на форме, вы можете изменять его размер, перетягивая границы за белые квадратики, и перетаскивать по форме, ухватив за одну из границ. Кликнув по заголовку формы или по ее рабочему полю, вы можете также изменять ее размер, перетягивая границы за белые квадратики.

Нажатием клавиши «F4» вызывается окно свойств, с помощью которого можно вручную задавать значения свойств пользовательской формы и элементов управления. В окне свойств отображаются свойства выбранного элемента управления или формы, если выбрана она. Также окно свойств можно вызвать, нажав кнопку «Properties Window» во вкладке «View».

Отображение формы на экране

Чтобы запустить пользовательскую форму для просмотра из редактора VBA, необходимо выбрать ее, кликнув по заголовку или свободному от элементов управления полю, и совершить одно из трех действий:

  • нажать клавишу «F5»;
  • нажать на треугольник на панели инструментов (на изображении выше треугольник находится под вкладкой «Debug»);
  • нажать кнопку «Run Sub/UserForm» во вкладке «Run».

Для запуска пользовательской формы с рабочего листа Excel, можно использовать кнопки, описанные в этой статье. Например, чтобы отобразить форму с помощью «кнопки – элемента ActiveX», используйте в модуле рабочего листа следующий код:

Источник

Оцените статью