- •Оглавление
- •Предисловие
- •Введение
- •Общие сведения о vba
- •Структура редактора vba
- •Запуск редактора vba и завершение работы
- •Пользовательский интерфейс редактора vba
- •Окно Project Explorer (Проекта)
- •Окно свойств (Properties)
- •Окно для редактирования кода
- •Окно редактирования форм (UserForm)
- •Программирование на vba
- •Использование модулей и процедур
- •Запуск пользовательских функций
- •Создание новой процедуры
- •Выбор имени
- •Удаление модуля из проекта
- •Представление данных в vba
- •Операции языка vba
- •Инструкции
- •Инструкции объявления (описания)
- •Инструкции присваивания (назначения или присвоения)
- •Выполняемые инструкции (исполняемые инструкции)
- •Инструкции по управлению потоком
- •Объекты в vba
- •Работа с диапазонами
- •Использование свойства Range
- •Использование свойства Cells
- •Работа со свойствами – атрибутами объектов
- •Работа с методами объектов
- •Взаимодействие с пользователем
- •Вывод сообщений с помощью функции MsgBox
- •Вывод сообщений с помощью оператора MsgBox
- •Ввод данных пользователем с помощью окон ввода
- •Использование комментариев в программах vba
- •Создание пользовательских форм в редакторе vba
- •Создание формы
- •Использование элементов управления
- •Свойства элементов управления
- •Методы и события элементов управления
- •Макросы
- •Сервис►Макрос►Макросы…
- •Вопросы для самоконтроля
- •Примеры решения задач в среде программирования vba
- •Разработка программ и алгоритмов линейной структуры
- •С использованием процедуры функции в редакторе Visual Basic;
- •С использованием рабочего листа ms Excel;
- •С использованием форм пользователя в редакторе Visual Basic. Задание 1
- •Создание процедуры функции в редакторе Visual Basic Ход выполнения задания:
- •Создание процедуры подпрограммы с использованием ввода исходных данных и вывода результатов на рабочий лист ms Excel Ход выполнения задания:
- •Создание формы пользователя в редакторе Visual Basic Ход выполнения задания:
- •Разработка программ и алгоритмов разветвляющейся структуры
- •С использованием рабочего листа ms Excel;
- •С использованием форм пользователя в редакторе Visual Basic. Задание 2
- •Создание процедуры подпрограммы с использованием ввода исходных данных и вывода результатов на рабочий лист ms Excel Ход выполнения задания 2:
- •Создание формы пользователя в редакторе Visual Basic Ход выполнения задания:
- •Назначить автофигуре с надписью Задача2 макрос Zadanie2, выбрав пункт контекстного меню Назначить макрос...
- •Разработка программ и алгоритмов циклической структуры
- •С использованием процедуры функции в редакторе Visual Basic;
- •С использованием встроенных диалоговых окон (окна ввода, окна сообщения) в процедуре подпрограммы. Задание 3
- •Создание процедуры функции в редакторе Visual Basic
- •Использование окон сообщений и окон ввода
- •Разработка программ и алгоритмов с использованием массивов Задание 4
- •Ход выполнения задания 4:
- •Заключение
- •Библиографический список
- •Интернет ресурсы
- •Предметный указатель
Работа со свойствами – атрибутами объектов
Объекты обладают свойствами – атрибутами, задающие некоторые параметры объекта, например цвет заливки, значение, ширину и т.п.
Например:
Диапазон (Range), обладает свойствами: Column (столбец), Row (строка), Width (ширина) и Value (значение). С помощью программного кода можно узнать, каково значение того или иного свойства или задать значение этого свойства.
В расположенной ниже процедуре переменная а будет отображать содержимое ячейки B3 на листе Лист1 активной рабочей книги.
Sub Значение_Ячейки()
а = WorkSheets(“Лист1”). Range(“B3”).Value
End Sub
Иногда требуется не отобразить значение какого – либо свойства, а изменить его. В следующей процедуре изменяется значение свойства Value ячейки В3:
Sub Изменить_ЗначениеЯчейки()
WorkSheets(“Лист1”). Range(“B3”).Value = 123
End Sub
Работа с методами объектов
Метод – это действие, которое может быть применено к объекту.
Например:
Sub Очистить_диапазон()
WorkSheets(“Лист1”). Range(“B3:D10”).Clear
End Sub
Метод Clear позволяет очистить содержимое диапазона B3:D10.
Методы, определяющие будущее действие имеют аргументы.
Например:
Sub Копируем()
WorkSheets(“Лист1”).Range(“B3”).Copy WorkSheets(“Лист1”). Range(“C2”)
End Sub
Метод Copy, имеющий аргумент выполняет копирование содержимого ячейки В3 в ячейку С2.
Взаимодействие с пользователем
Во время выполнения макроса часто возникает необходимость поддерживать связь с пользователем. В VBA существует два простых метода взаимодействия с пользователем:
С помощью функции и оператора MsgBox.
С помощью функции InputBox.
Вывод сообщений с помощью функции MsgBox
Окно сообщений отображает информацию в диалоговом окне.
Синтаксис функции MsgBox и описание аргументов:
Результат = MsgBox (текст_сообщения [, опции_кнопок] [, текст_заголовка] [, файл_ справки, содержание])
Функция MsgBox содержит следующие аргументы:
текст_сообщения — это текст, который отображается в сообщении и может представлять собой литерал или строковую переменную;
опции_кнопок — числовое значение, указывающее кнопку, которая должна появляться в окне сообщения, а также некоторые другие опции для отображения;
текст_заголовка — необязательный аргумент для размещения заголовка вверху окна сообщения может быть литеральное или строковое выражение;
Файл_справки и содержание позволяют указать имя файла справки Windows, в котором пользователь может получить дополнительную информацию. Содержание - это числовое выражение определенно местоположения в файле справки;
Результат — это числовое значение, возвращаемое функцией, когда окно сообщения исчезает после щелчка на кнопке. Это значение позволяет узнать, на какой из кнопок щелкнул пользователь.
Константы для определения опций кнопок
Значение аргумента |
Назначение |
vbAbortRetryIgnore |
Отображает кнопки Стоп, Повтор, Пропустить (Abort, Retry, Ignore) |
vbCritical |
Отображает значок критического предупредительного сообщения Windows (красный кружок) |
vbDefaultButton1 |
Первая кнопка в диалоговом окне является кнопкой по умолчанию |
VbDefaultButton2 |
Вторая кнопка является кнопкой по умолчанию |
VbDefaultButton3 |
Третья кнопка является кнопкой по умолчанию |
VbDefaultButton4 |
Четвертая кнопка является кнопкой по умолчанию |
vbExclamation |
Отображает значок ("!") предупреждения |
vbInformation |
Отображает значок ("i") информации |
vbMsgBoxHelpButton |
Добавляет кнопку Справка (Help); при выборе этой кнопки открывается файл, который задан в аргументе HelpFile, в разделе, заданном в аргументе Context |
vbOkCancel |
Отображает кнопки Ок и Отмена (Ok, Cancel) |
vbOkOnly |
Отображает кнопки Ок; то же самое происходит при опускании аргумента Buttons |
vbQuestion |
Отображает значок ("?") запроса Windows |
vbRetryCancel |
Отображает кнопки Повтор и Отмена (Retry, Cancel) |
vbYesNo |
Отображает кнопки Да и Нет (Yes, No) |
vbYesNoCancel |
Отображает кнопки Да, Нет и Отмена (Yes, No, Cancel) |
Например:
Public Sub Пример()
Dim Z As String
n = 5
Pi = 3.14
Z = MsgBox("N=" & n & " Pi=" & Pi, vbYesNo, "Пример окна MsgBox")
End Sub
В подпрограмме Пример:
текст_сообщения — "N=" & n & " Pi=" & Pi;
опции_кнопок — константа для определения опции кнопок vbYesNo;
текст_заголовка — "Пример окна MsgBox";
Результат — Z.
