
- •Использование visual basic for applications для разработки приложений в ms office
- •Введение
- •1. Общие принципы ооп
- •2. Визуальное программирование. Событийно-управляемое программирование
- •3. Структура программы и иерархия классов в office
- •4. Интегрированная среда разработки vba
- •4.1. Окна интегрированной среды
- •4.2. Меню
- •4.2.1. Меню Файл
- •4.2.2. Меню Вид
- •4.2.3. Меню Вставка
- •4.2.4. Меню Формат
- •4.2.5. Меню Отладка
- •4.2.6. Меню Запуск (Run)
- •4.2.7. Меню Сервис (Tools)
- •4.2.8. Пример создания простейшей формы
- •5. Язык vba, написание программного кода
- •5.1. Общие элементы синтаксиса, операторы
- •5.1.2. Арифметические операторы
- •5.1.3. Оператор конкатенации &
- •5.1.4. Логические операторы
- •5.1.5. Комментарий
- •5.2. Функции, процедуры, макросы, обработчики событий
- •5.2.1. Процедуры
- •5.2.2. Функции
- •5.2.3. Функции MsgBox и DialogBox
- •InputBox (подсказка [, заглавие ] [, по_умолчанию ] [, х_поз][ , у_поз][ , help_file, контекст]).
- •5.2.4. Еще один способ вызова процедуры или функции
- •5.3. Объявление переменных, типы переменных
- •5.4. Преобразованиеданных и типов данных
- •5.5. Массивы
- •5.6. Константы
- •5.7. Область видимости и время жизни переменных, констант и процедур
- •5.7.1. Управление областью видимости
- •5.7.2. Пример создания программного кода формы
- •5.8. Инструкции vba
- •5.8.1. Инструкции присваивания Let и Set
- •5.8.2. Инструкции циклов
- •5.8.3. Инструкции принятия решений
- •6. Создание графического интерфейса с помощью стандартных элементов диалога
- •6.1. Создание формы и размещение в ней элементов управления
- •6.1.1. Объектная модель библиотеки ms Forms
- •6.1.2. События форм и элементов управления
- •6.2. Элементы управления
- •6.2.1.Label (Надпись)
- •6.2.2.TextBox (Поле)
- •6.2.3.RadioButton (Переключатели или радиокнопки)
- •6.2.4.CheckBox (Флажок) и Toggle Button (Выключатель)
- •6.2.5.Frame (Рамка)
- •6.2.6.ListBox (Список)
- •6.2.7.ComboBox (Поле со списком)
- •6.2.14.Свойства элементов управления
- •7. Создание приложений для ms excel
- •7.1. Структура проекта
- •7.2. ОбъектApplication
- •7.3. Работа с книгами
- •7.4. Работа с рабочими листами
- •7.5. Работа с ячейками
- •8. Создание приложений для ms word
- •8.1. Структура проекта
- •8.2. ОбъектApplication
- •8.3. Работа с документами
- •8.4. Работа с абзацами
- •8.5. Работа с текстом
- •8.5.1. Объект Range
- •8.5.2. Объект Selection
- •9. Задания для самостоятельной работы
- •9.1. Создание графического интерфейса
- •9.2. Написание программного кода
- •9.3. Создание приложения дляWord
- •9.4. Написание функции и процедуры
- •9.5. Создание приложения дляExcel
- •Библиографический список
InputBox (подсказка [, заглавие ] [, по_умолчанию ] [, х_поз][ , у_поз][ , help_file, контекст]).
Аргумент подсказка – это строковое выражение, появляющееся как сообщение в окне, аргумент по_умолчанию задает текст, появляющийся по умолчанию в текстовой строке, аргументы х_поз и у_поз задают расстояние от верхнего края экрана до верхнего края диалогового окна. Если эти аргументы опущены, то окно разместится в центре экрана.
5.2.4. Еще один способ вызова процедуры или функции
Если функция или процедура имеет множество параметров, то часто ее вызов выглядит как набор множества чисел или иных параметров, перечисленных через запятую, в строке аргументов. Понятно, что такой способ вызова не добавляет коду программы наглядности. Visual Basic позволяет применять другой способ вызова. При этом строка аргументов выглядит как последовательность Аргумент1 := Значение1. Например, вызов нашей процедуры из предыдущего примера мог бы выглядеть так.
Sub example( )
Dim S As Single
RectArea A:=1, B:=4, Area:=S
MsgBox prompt:=Ar
End Sub
Это тем более удобно потому, что при наборе процедуры в редакторе кода автоматически появляется подсказка, содержащая имена аргументов.
5.3. Объявление переменных, типы переменных
Как в любом другом языке программирования, в VBA для написания программы используются переменные, которые традиционно имеют свой определенный тип. Однако в отличие от других языков переменные объявлять не обязательно – при первом же упоминании в тексте программы нового имени инициализируется переменная особого типа Variant с таким именем. Это удобно для создания небольших по объему программ, однако явное объявление переменных позволяет избежать многих ошибок и, кроме того, является признаком хорошего стиля программирования. Для того чтобы запретить использование переменных без предварительного объявления, нужно поместить в начале программы оператор Option Explicit.
После этого, если в тексте программы встретится переменная без предварительного объявления, будет выведено сообщение об ошибке. Для того чтобы автоматически вставлять оператор Option Explicit во все вновь создаваемые программные модули, необходимо в меню Сервис|Параметры на вкладке Модуль установить флажок Требовать описание переменных.
Как уже упоминалось, все переменные в языке VBA имеют тип. Тип указывает, что может хранить переменная: целое число, строку, дату и т.п. В тексте программы переменная может быть описана с помощью следующей конструкции: Dim имя_переменной As тип_переменной
По умолчанию (если тип переменной в объявлении не указан), переменной присваивается особый тип Variant. Переменные этого типа могут хранить все, что в них поместят, т.е. их тип изменяется в зависимости от последнего присвоения. В табл. 5 приведен список основных базовых типов языка VBA.
Тип Date. Единый тип даты и времени используется для хранения как даты так и времени. Для присвоения переменной типа Date какого-либо значения, можно использовать одно из следующих выражений:
Xdate = #31/3/2001 9:50#
Xdate = #21:50#
Xdate = #3 Anp 1952 21:50#
Xdate = #Anp 3, 1952 21:50#
Для получения текущего значения даты и времени используется конструкция: Xdate = Now.
Для выделения отдельных значений даты используются функции Hour (Xdate), Minute (Xdate), Day (Xdate), Year (Xdate), Month (Xdate).
Тип String. По умолчанию строковая или текстовая переменная является массивом переменной длины, содержащим символы. Можно определить и текстовую переменную фиксированной длины: Dim Stroka As String*25. В том случае, если переменной Stroka будет присвоено значение строки более 25 символов, то оно будет усечено.