
- •Ответы к экзамену ппп
- •1 Понятие ппп. Офисное программирование. Основные тенденции в развитии ппп.
- •2 Среда разработки vbe. Синтаксис vba. Достоинства и недостатки vba
- •Элементы проекта vba
- •Характеристика компонентов vbe
- •3 Объектная модель компонентов ms office. Библиотеки типов. Терминальные свойства и свойства-участники приложения. Разработка приложений для ms office.
- •4 Типы модулей программного проекта. Разделы модуля. Защита кода проекта. Область видимости модуля, переменных. Окна отладки vba
- •Свойства проекта
- •Защита проекта
- •Проект и область видимости модулей
- •5 Типы данных vba. Передача параметров в процедуру.
- •6 Функции для организации окон ввода и сообщений и их аргументы. Управляющие операторы vba (выбора и цикла).
- •7 Понятие макроса, его проектирование, способы запуска, правила сохранения, передача в другие проекты.
- •8 Определение объекта, коллекции объектов, класса, объектной модели. Механизмы инкапсуляции, встраивания, наследования, полиморфизма
- •9 Формы и элементы управления. Событийные процедуры.
- •11 Объекты Помощник, его надпись. Компонент Microsoft Agent.
- •12 Объекты (библиотеки) каркаса Excel. Формат ссылок r1c1
- •13 Интеграция с внешними приложениями. Объект Automation. Создание объекта. Раннее и позднее связывание объектных переменных
- •14 Объекты и методы библиотеки Microsoft Scripting Runtime Library для работы с файловой системой.
- •15 Подходы анализа возможных ошибок в ходе выполнения программы. Конструкции перехвата ошибок
- •2.1. Оператор On Error
- •2.2 Процедура обработки ошибки
- •2.3. Оператор Resume
- •Состав каркаса Microsoft Word. Объектная модель приложения.
- •Библиотека ado. Объектная модель. Вызов источников данных dsn и Jet-провайдера. Формирование sql-команды.
- •Объект Connection и установка подключения к базе данных
- •1 Способ
- •2 Способ
- •Задачи автоматизации в Access. Ограничения настольных субд. Объектная модель ms Access. Отличия макросов Access от макросов других приложений
6 Функции для организации окон ввода и сообщений и их аргументы. Управляющие операторы vba (выбора и цикла).
Окно сообщения
Процедура MsgBox выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия кнопки пользователем, а затем возвращает значение типа integer, указывающее, какая кнопка была нажата.
MsgBox (Prompt [, Buttons] [, Title] [, Help file, Context])
Sub DemoMsgBoxO
Dim x As Variant, у As Double
x = InputBox("Введите x")
у = x ^ 2
MsgBox у
MsgBox "x=" & x & vbCr & "y=" & у MsgBox "y=" & y, vblnformation
MsgBox "y=" & y, vbInformation + vbDefaultButton1 + vbYesNo
MsgBox "y=" & y, vbInformation, "Нахождение квадрата”
End Sub
Окно ввода
Функция inputBox выводит на экран диалоговое окно, содержащее сообщение, поле ввода и две кнопки — ОК и Cancel.
При нажатии кнопки Cancel возвращает пустую строку (Empty).
InputBox (Prompt [, Title] [, Default] [, Xpos][, Ypos] [,Helpfile][, Context] )
Sub DemoInputBoxl() Dim n As String
n = InputBox("Введите ваше имя", "Пример окна ввода")
Debug.Print n
End Sub
Операторы управления
В VBA имеется несколько операторов управления ходом выполнения программы. Функционально они делятся на две группы операторов
перехода и выбора (goto, if и Select);
повтора (For, For Each, Do Loop и While)
Оператор условного перехода
If Сумма > 1000 Then Скидка = 0.05 Else Скидка = 0
или, что равносильно
If Сумма > 1000 Then Скидка = 0.05
Допускается также использование блочной формы :
If Сумма > 1000 Then
Скидка = 0.05
Else
Скидка = 0
End If
Оператора выбора
Sub DemoSelect
Dim х As Integer
х = InputBox ("Введите целое число")
Select Case х
MsgBox "Число равно 1"
MsgBox "Число равно 2 или 3"
Case 4 То 6
MsgBox "Число от 4 до б"
Case IS >=7
MsgBox "Число не менее 7"
End Select
End Sub
Оператор For Next
Sub DemoForl
Dim A As Variant
A = Array(1, 4, 12, 23, 34, 3, 23)
s = 0
For i = LBound(A) To UBound(A)
s = s + A(i)
Next
Msgbox s
End Sub
Оператор For Each
повторяет выполнение группы инструкций для каждого элемента массива или семейства.
Sub DemoForEach
Dim A As Variant, s As Double
A = Array(1, 4, 12, 23, 34, 3, 23)
s = 0
For Each b In A
s = s + b
Next
Msgbox s
End Sub
Оператор While
While условие
Операторы
Wend
Оператор Do
Оператор Do повторяет выполнение набора инструкций, пока условие имеет значение True (случай While) ИЛИ пока оно Не примет значение True (случай until).
Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]
Loop
или
Do
[statements] [Exit Do] [statements]
Loop [{While | Until} condition
В любом месте управляющей структуры Do может быть размещено любое число инструкций Exit Do, обеспечивающих альтернативные возможности выхода из цикла Do.
Sub DemoPassword()
Dim ps as String
Do
ps = InputBox("Введите пароль")
Loop Until ps = "Winnie"
End Sub
7 Понятие макроса, его проектирование, способы запуска, правила сохранения, передача в другие проекты.
Макрорекордер (MacroRecorder) – это транслятор действий, записывающий действия пользователя при работе вручную и транслирующий их в программу на языке VBA.
Поскольку действия пользователя транслируются в действия над объектами Office, то нетрудно, включив MacroRecorder, записать нужные действия и создать макрос – программу на языке VBA, описывающую действия пользователя в терминах работы с объектами
Термин macro произошел от греческого слова, означающего расширенный или растянутый.
Макрос – это программа, состоящая из списка команд, которые должны быть выполнены приложением.
Основными преимуществами использования макросов являются: повышение точности и скорости работы, поскольку компьютеры больше приспособлены для выполнения повторяющихся задач, чем человек;
Можно выделить три основные разновидности макросов:
1. Командные макросы – это наиболее распространенные макросы, обычно состоящие из операторов, эквивалентным тем или иным командам меню или параметрам диалоговых окон. Основным предназначением такого макроса является выполнение действий, аналогичных командам меню – т.е. изменение окружения и основных объектов приложения. Например, вставка или форматирование фрагмента текста в Word, изменение рабочего листа в Excel, сохранение или вывод на печать и т.п. В результате выполнения командного макроса вносятся изменения либо в обрабатываемый документ, либо в общую среду приложения.
2. Пользовательские функции – работают аналогично встроенным функциям Excel. Отличие этих функций от командных макросов состоит в том, что они используют значения передаваемых им аргументов, производят некоторые вычисления и возвращают результат в точку вызова, но не изменяют среды приложения.
3. Макрофункции – представляют сочетание командных макросов и пользовательских функций. Они могут использовать аргументы и возвращать результат, подобно пользовательским функциям, а также могут изменять среду приложения, как и командные макросы. Чаще всего эти макросы вызываются из других макросов, и активно используются для модульного программирования. Если необходимо выполнить ряд одинаковых действий в различных макросах, то обычно эти действия выделяют в отдельную макрофункцию (подпрограмму), которая вызывается всякий раз, когда необходимо выполнить эти повторяющиеся действия.
Таким образом, различают 2 способа разработки макроса:
использование макрорекордера (MacroRecorder);
написание макроса "с нуля", используя язык программирования VBA.