Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_na_voprosy_po_informatike.docx
Скачиваний:
10
Добавлен:
18.04.2019
Размер:
592.71 Кб
Скачать
  • Вопрос 24. Алгоритмический язык Visual Basic for Applications (vba).

Visual Basic for Applications (VBA) является общей языковой платформой для всех приложений . VBA соблюдает основной синтаксис и правила программирования языков-диалектов Basic . Visual Basic for Applications (VBA) - развитая система визуального программирования для создания прикладных программ в среде Microsoft Office.

С помощью VBA можно создавать объекты управления графического интерфейса пользователя, задавать и изменять свойства объектов, подключать к ним соответствующий программный код. Методика программирования с использованием средств VBA сводится к следующему:

• создание объектов управления и контроля (диалоговые окна, пиктограммы, меню);

• разработка процедур, используемых при вызове объектов.

• Прикладные программы на языке VBA оперируют со следующими понятиями:

• объект управления и контроля - экранные формы, графические элементы внутри форм, в том числе текстовые окна, линейки прокрутки, пиктограммы, окна-списки, командные кнопки и др.;

• свойство (параметр) - характеристика или атрибут объекта управления;

• значение свойства;

• событие - действие, которое распознается объектом управления;

• метод доступа - аналогичное понятиям функция, оператор, который воздействует всегда на объект;

• процедура - подпрограммы и функции, произвольная последовательность операторов VBA; процедуры делятся на событийные (запускаются при наступлении событий) и общие процедуры.

Программы на языке VBA для приложений, функционирующих в среде Excel , создаются двумя способами:

• в автоматическом режиме как результат построения клавишной макрокоманды

• в неавтоматическом режиме путем создания программного кода.

Ниже рассматривается вариант традиционного программирования на языке 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

& Объединение (конкатенация) строк

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]