Лекция: Передача параметров по ссылке и значению

Для явного указания передачи параметров в процедуру по ссылке используется ключевое слово ByRef.

 

Другим способом передачи параметров в процедуру является передача ихпо значению. При этом способе передачи параметра в процедуру попадает не сама переменная, а ее значение. Передача параметра по значению задается ключевым словом ByVaL.

по умолчанию при передаче переменных в качестве параметров в процедуру передаются физические адреса переменных.

 

Sub demo(ByVal a, b, ByRef c)

a = a + 1

b = b + a

c = c + a

End Sub

 

Sub test()

Dim a, b, c As Integer

a = 1: b = 10: c = 100

demo a, b, c

MsgBox a

MsgBox b

MsgBox c

End Sub

 

Результат

a=1

b=12

c=102

 


 

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] )

 

SubDemoInputBoxl() Dim n As String

n=InputBox(»Введите ваше имя", «Пример окна ввода»)

Debug.Print n

EndSub

 

Операторы управления

В 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.


 

 

8. Определение объекта, коллекции объектов, класса, объектной модели. Механизмы инкапсуляции, встраивания, наследования, полиморфизма

 

Объектом в ООП называется абстрактный тип данных, состоящий из данных (обычно хорошо структурированных) и различных функций, управляющих этими данными.

Коллекцией (семейством)называется упорядоченный набор однотипных объектов. Коллекция тоже является объектом (объект Collection). Например, объект Workbooks (рабочие книги) содержит все открытые объекты Workbook (рабочая книга). Каждый элемент коллекции нумеруется и может быть идентифицирован либо по номеру, либо по имени. Например, Worksheets(1) обозначает первый рабочий лист активной книги, а Worksheets(«Лист1») – рабочий лист с именем Лист1.

Класс (class) задает свойства и поведение объектов класса. Каждый объект является экземпляром какого-либо класса. Причем между объектом и классом существуют отношения, аналогичные соотношениям между переменной и ее типом. Например, каждый рабочий лист MS Excel является объектом класса Worksheet. Таким образом, класс – это логическая конструкция, а объект – это его физическое воплощение.

Объектная модель (или модель объектов, Object model, или иерархия) – это совокупность взаимосвязанных объектов, которые объединяет нечто общее, например, назначение, область применения.

 

 


 

 

9. Формы и элементы управления. Событийные процедуры.

10. Объекты и коллекции VBA, которые используются для проектирования панелей команд (инструментов, меню, контекстного меню). Создание пользовательской панели инструментов. Типичные ошибки, возникающие при создании пользовательских панелей инструментов

11. Объекты Помощник, его надпись. Компонент Microsoft Agent.

12. Объекты (библиотеки) каркаса Excel. Формат ссылок R1C1

13. Интеграция с внешними приложениями. Объект Automation. Создание объекта. Раннее и позднее связывание объектных переменных

14. Объекты и методы библиотеки Microsoft Scripting Runtime Library для работы с файловой системой.

15. Подходы анализа возможных ошибок в ходе выполнения программы. Конструкции перехвата ошибок

16. Состав каркаса Microsoft Word. Объектная модель приложения.

17. Библиотека ADO. Объектная модель. Вызов источников данных DSN и Jet-провайдера. Формирование SQL-команды.

18. Задачи автоматизации в Access. Ограничения настольных СУБД. Объектная модель MS Access. Отличия макросов Access от макросов других приложений

19. Общие сведения о программе 1С: Бухгалтерия. Этапы создания информационной базы. Режимы работы с программой. Основные понятия: справочники, документы, регистры сведений, регистры накопления, регистры бухгалтерии, отчеты и обработки. Подготовка информационной базы к работе

 

еще рефераты
Еще работы по информатике