Вопрос № 9. Алгоритмический язык VBA. Алфавит, служебные слова и другие символы.
Visual Basic for Applications (VBA) является общей языковой платформой для всех приложений (Excel 5.0, Word 6.0, Mail, Power Point). VBA соблюдает основной синтаксис и правила программирования языков-диалектов Basic (BASICA, GW-BASIC). Visual Basic for Applications (VBA) - развитая система визуального программирования для создания прикладных программ в среде Microsoft Office.
С помощью VBA можно создавать объекты управления графического интерфейса пользователя, задавать и изменять свойства объектов, подключать к ним соответствующий программный код. Методика программирования с использованием средств VBA сводится к следующему:
• создание объектов управления и контроля (диалоговые окна, пиктограммы, меню);
• разработка процедур, используемых при вызове объектов.
• Прикладные программы на языке VBA оперируют со следующими понятиями:
• объект управления и контроля - экранные формы, графические элементы внутри форм, в том числе текстовые окна, линейки прокрутки, пиктограммы, окна-списки, командные кнопки и др.;
• свойство (параметр) - характеристика или атрибут объекта управления;
• значение свойства;
• событие - действие, которое распознается объектом управления;
• метод доступа - аналогичное понятиям функция, оператор, который воздействует всегда на объект;
• процедура - подпрограммы и функции, произвольная последовательность операторов VBA; процедуры делятся на событийные (запускаются при наступлении событий) и общие процедуры.
Программы на языке VBA для приложений, функционирующих в среде Excel 5.0, создаются двумя способами:
• в автоматическом режиме как результат построения клавишной макрокоманды
• в неавтоматическом режиме путем создания программного кода.
Ниже рассматривается вариант традиционного программирования на языке VBA применительно к Excel
Для создания программного модуля в составе рабочей книги выполняется команда меню ВСТАВКА, Макрос с указанием типа макроса - Модуль. При этом создается новый рабочий лист со стандартным именем Модуль и порядковым номером программного модуля в рабочей книге. Имя модульного листа можно изменить.
Экран модуля используется для записи строк программы на языке VBA.
Наборы обладают следующими свойствами:
• Count - определяет число компонентов в наборе;
• Name - определяет имя компонента;
• Parent - определяет имя объекта, включающего набор.
Для добавления и удаления компонентов набора используют методы Add и Delete.
Отдельные ячейки таблицы доступны через объект Range и следующие методы:
1.Cell - в качестве аргументов указываются два целых числа, определяющих место положение отдельной ячейки таблицы - Cell (число1; число2)
Пример Cell(l;2).Value=5
Присваивает ячейке В2 текущего рабочего листа активной рабочей книги значение 5;
Cells(2,l).Formula="=SUM(Bl:B5)"
Записывает в ячейку А2 формулу суммирования значений в ячейках В1:В5.
2.Range - работа с прямоугольной областью ячеек, в качестве аргументов используется одна или две ссылки на ячейки таблицы в стиле А1:
Range("A2";"G10")
Range("f4")
либо на блок ячеек по их имени.
Пример
Worksheets("PRIMTR").Range("Al0";"F12").Value=10
Присвоение блоку ячеек постоянного значения 10.
Range("D15").Value = "Test"
Присвоение ячейке текущего рабочего листа активной рабочей книги значения "Test".
Range("Criteria").ClearContents
Очистка содержимого именованного блока ячеек текущего рабочего листа активной рабочей книги.
Примечание. Можно использовать форму записи Range(Cells(1;1); Cells(2;2)).
3.Offset - в качестве аргументов передаются два числа, указывающие местоположение ячейки относительно верхнего левого угла указанной области. При записи макросов с относительными ссылками макрорекордер использует данный метод для указания выбора.
Пример
Selection.Offset(2,5).Select
Относительно текущей ячейки, например, А1, происходит смещение в ячейку F3.
["Адрес_ячейки"] - краткая ссылка на ячейку по ее адресу.
4.Union - метод множественного выделения областей ячеек - Uniоп(область1; область2).
Каждую область формируют с помощью метода Range.
Пример
Union(Range(Cells(1;1); Cells(2;2)); Range(Cells(5;5); Cells(7;7)).Select
Выделяет области ячеек: А1:B2,E5:G7.
Сервис – макрос- VBA
Insert – module
Insert – Procedure
Public Sub
…
End Sub
Служебные слова:
Sub, Do, For, Function, Dim, Until, Step и пр.
Символы: ( ), *, /, ^ и т.д.
Математические и строковые операции VBA в порядке убывания приоритета
Операция Выполняемое действие
^ Возведение в степень
- Отрицание
? Умножение
/ Деление 1
\ Целочисленное деление
Mod Определение остатка от деления
+ Сложение
- Вычитание2
& Объединение (конкатенация) строк
Вопрос № 9. Алгоритмический язык VBA. Алфавит, служебные слова и други
Страница: 1
Сообщений 1 страница 1 из 1
Поделиться12009-11-19 13:05:48
Страница: 1