- •Тема 1.1 введение в предмет. Понятие ппп Цели и задачи дисциплины
- •Основные понятия и определения
- •Классификация программного обеспечения
- •Понятие пакета прикладных программ
- •Тема 1.2 структура и основные компоненты ппп
- •Тема 1.3 эволюция ппп Этапы развития ппп
- •Первое поколение
- •Второе поколение
- •Четвертое поколение
- •Третье поколение
- •1.3.1 Примеры современных прикладных пакетов
- •Языковые средства
- •Предметное обеспечение
- •Системное обеспечение
- •Язык ActionScript
- •Системное обеспечение
- •Прикладное обеспечение
- •Пакет MatLab
- •Язык MatLab
- •Системное обеспечение
- •Прикладное обеспечение
- •Тема 2.1 структура и состав ms office. Основные приложения Структура ms Office и назначение компонентов
- •Основные компоненты Microsoft Office
- •Дополнительные компоненты ms Office
- •Документы Microsoft Office
- •Программная среда
- •Интерфейс ms Office
- •Оконный интерфейс
- •Панели инструментов
- •Элементы управления
- •Тема 2.2 введение в офисное программирование
- •Цели разработки
- •Область применения
- •Среда разработки
- •Поддержка ооп
- •Преимущества офисного программирования
- •Тема 2.3 макросы. Использование макрорекордера Макросы
- •Структура записанного макроса
- •Тема 2.4 среда разработки vbe
- •Структура vbe
- •Характеристики компонентов vbe Окно проекта (Project)
- •Окно свойств (Properties)
- •Окно просмотра объектов(Object Browser)
- •Окно Code (Окно редактирования кода)
- •Окно редактирования форм (UserForm)
- •Окна отладочной информации
- •Тема 2.5 синтаксис vba Алфавит vba
- •Типы данных
- •Идентификаторы
- •Объявления Переменные
- •Константы
- •Операции
- •Оператор присваивания
- •Приоритеты операций
- •Условный оператор If
- •Оператор выбора Select Case
- •Оператор безусловного перехода GoTo
- •2.5.2. Vba. Организация циклов
- •Фиксированные циклы
- •Циклы с условием (неопределенные циклы)
- •Прерывание цикла
- •Передача параметров в подпрограммы
- •Именованные параметры
- •Вызов подпрограмм
- •Прерывание подпрограммы
- •Модули vba
- •Области видимости
- •Встроенные функции vba
- •Функции приведения типов
- •Строковые функции
- •Математические функции
- •Функции для работы с датой и временем
- •Функции взаимодействия с пользователем
- •Структурные типы данных
- •Vba предоставляет возможность создавать и использовать сложные структуры данных на основе базовых типов. Сюда относятся массивы и пользовательский тип (user-defined type).
- •Массивы
- •Пользовательский тип данных
- •Поддержка ооп в vba
- •Объявление пользовательских классов
- •Создание объектных переменных
- •Использование объектов
- •Тема 2.7 объектная модель компонентов ms office. Библиотеки типов
- •Библиотека vba. Объекты общего назначения Коллекции vba
- •Объект Debug
- •Объект Err
- •Объектная модель Excel
- •Объект Workbook
- •Тема 2.8 разработка приложений для ms office
- •Коллекция CommandBars
- •Свойства коллекции CommandBars
- •Методы коллекции CommandBars
- •Объект CommandBar
- •Свойства объекта CommandBar
- •Методы объекта CommandBar Метод Delete
- •Метод FindControl
- •Метод Reset
- •Метод ShowPopup
- •Свойства объекта CommandBarControl
- •Коллекция CommandBarControls
- •Объект CommandBarControl
- •Методы объекта CommandBarControl
- •Объект CommandBarButton
- •Методы объекта CommandBarButton
- •Тема 2.9 формы и компоненты управления. Обработка событий Визуальное программирование
- •Пользовательские формы
- •Свойства объекта UserForm
- •Методы объекта UserForm
- •События объекта UserForm
- •Элементы управления
- •Свойства элементов управления
- •Методы и события элементов управления
- •Пример создания формы
- •Тема 2.10 интеграция с внешними приложениями
- •Основы автоматизации
- •Ссылка на библиотеку объектов приложения-сервера
- •Просмотр библиотеки объектов
- •Создание экземпляра приложения-сервера
- •Использование объектов Microsoft Word
- •Тема 3.1 структура и состав ппп 1с:предприятие. Режимы работы Назначение и возможности ппп 1с:Предприятие
- •Структура пакета 1с:Предприятие
- •Технологическая платформа
- •Прикладные решения
- •Режимы работы 1с:Предприятие
- •Тема 3.2 основные компоненты ппп 1с:предприятие. Конфигурации и информационные базы Компонентная модель 1с
- •Конфигурации и информационные базы
- •Информационные базы 1с
- •Тема 3.3 объекты метаданных Метаданные 1с
- •Регистры сведений
- •Планы счетов и регистры бухгалтерии
- •Планы видов расчета и регистры расчета
- •Задачи и бизнес-процессы
- •Обработки, отчеты
- •Планы видов характеристик
- •Тема 3.4 конфигуратор. Назначение и возможности
- •Дерево конфигурации (метаданные)
- •Редактор форм
- •Редактор программных модулей
- •Шаблоны
- •Редактор печатных форм (макетов)
- •Администрирование базы данных
- •Загрузка измененной конфигурации
- •Объединение конфигураций
- •Конструкторы
- •Использование шаблонов
- •Тема 3.5 разработка приложений в 1с
- •Виды конструкторов
- •Тема 3.6 входной язык 1с. Общий синтаксис
- •Программные модули
- •Структура программного модуля
- •Контекст выполнения программного модуля
- •Формат операторов
- •Идентификаторы
- •Процедуры и функции программного модуля
- •Типы данных
- •Символы
- •Специальные символы, используемые в исходном тексте
- •Управляющие операторы
- •Работа с объектом «СписокЗначений»
- •Работа с объектом «ТаблицаЗначений»
- •Запуск внешних приложений из 1с.
- •Тема 3.7 библиотечные процедуры и функции
- •Системные процедуры и функции
- •Системные функции ввода/вывода
- •Предопределенные процедуры
- •Тема 3.8 взаимодействие с внешними приложениями
- •Использование текстовых файлов для переноса данных
- •Работа с файлами в формате «dbf»
- •Обмен данными с помощью ole Automation
- •Тема 3.9 отладка и профилирование
- •Использование Отладчика
- •Запуск Отладчика
- •Список модулей
- •Окно модуля
- •Точка останова
- •Тема 3.10 управление пользователями в 1с
- •Ведение списка пользователей
- •Создание нового пользователя
- •Копирование пользователя
- •Установка пароля
- •Удаление пользователя
- •Сохранение списка пользователей
- •Редактирование свойств пользователя
- •Атрибуты пользователя
- •Управление правами
- •Редактор пользовательских прав
- •Тема 3.11 сервисное обслуживание информационных баз Сохранение конфигурации
- •Загрузка изменений
- •Сравнение и объединение конфигураций
- •Условия сравнения
- •Запуск режима сравнения и объединения конфигураций
- •Окно «Объединение конфигураций»
- •Режим объединения
- •Просмотр изменений
- •Отбор объектов и запуск процесса объединения
- •4.1 Основные тенденции в развитии ппп
- •Унификация форматов
- •Формат svg
- •Формат сжатия 7z
- •Приложения по запросу
Прерывание цикла
Для досрочного завершения итерации и выхода из цикла применяется оператор Exit. Этот оператор применим в любой циклической структуре, кроме While ... Wend. Общий синтаксис использования Exit для прерывания цикла таков:
<начало_цикла>
[<блок операторов1>]
Exit (For | Do)
[<блок операторов2>]
[Exit (For | Do)]
...
<конец_цикла>
При выполнении оператора Exit цикл прерывается, и управление передается оператору, следующему за оператором <конец_цикла>. В теле цикла может присутствовать несколько операторов Exit.
Листинг 12. Принудительный выход из цикла
Sub sample9()
For i = 1 To 10000000
If i = 10 Then Exit For ' выход из цикла, когда счетчик достигнет 10
Next
End Sub
VBA поддерживает два типа подпрограмм: процедуры и функции.
Функция — это подпрограмма, которая возвращает результат. Вызов функции является выражением, и может использоваться в других выражениях или в правой части оператора присваивания.
Процедура — это любая подпрограмма, которая не является функцией. Любой макрос VBA является подпрограммой типа "процедура".
Для объявления процедуры в VBA используется ключевое слово Sub:
Sub <имяПроцедуры> [(<списокПараметров>)]
<операторы>
End Sub
где:
<имяПроцедуры> – любой допустимый идентификатор VBA;
<списокПараметров> – список формальных параметров процедуры, если он пуст, то такая процедура является макросом;
<операторы> - любая последовательность операторов VBA.
Листинг №.13 Пример объявления процедуры
' Процедура выводит в отладчик максимальное из трех чисел
Sub sMax3(A As Long, B As Long, C As Long)
If (A > B) And (A > C) Then
Debug.Print "Max is "; A
ElseIf (B > A) And (B > C) Then
Debug.Print "Max is "; B
Else
Debug.Print "Max is "; C
End If
End Sub
Синтаксис объявления функции несколько сложнее, чем синтаксис процедуры:
Function <имяФункции> [(<списокПараметров>)] [As <типФункции>]
<операторы>
. . .
<имяФункции> = <возвращаемое_значение>
[<операторы>]
End Function
где:
<имяФункции> - любой допустимый идентификатор;
<списокПараметров> – список формальных параметров процедуры;
<типФункции> - имя любого поддерживаемого VBA типа данных;
<операторы> - любая последовательность операторов VBA.
<возвращаемое_значение> - результат, передаваемый в вызывающую программу.
Листинг №14. Пример объявления функции
' Функция возвращает максимальное из трех чисел
Function fMax3(A As Long, B As Long, C As Long) As Long
If (A > B) And (A > C) Then
fMax3 = A
ElseIf (B > A) And (B > C) Then
fMax3 = B
Else
fMax3 = C
End If
End Function
Передача параметров в подпрограммы
Подпрограммы VBA могут принимать для обработки формальные параметры, указываемые при объявлении. При вызове они заменяются фактическими параметрами, т.е. реально используемыми в вызывающей программе. В VBA список формальных параметров подпрограммы представляет имена переменных, разделенных запятой. При этом желательно указать тип каждой переменной:
Function | Sub <имяПроцедуры> (<параметр1> As <тип>, _ <параметр2> As <тип>, ..., <параметрN> As <тип>)
Если тип данных параметра не указан, то автоматически будет использован тип Variant. Список параметров может быть пустым как для процедуры, так и для функции. В этом случае после имени процедуры ставятся пустые круглые скобки.
При передаче фактических параметров в подпрограмму может использоваться один из двух различных способов:
передача по значению;
передача по ссылке.
При передаче по значению, в подпрограмме создается копия полученного фактического параметра. Все действия внутри подпрограммы выполняются над этой копией и при выходе из подпрограммы все изменения теряются. Если переменная передается по ссылке, то процедуре или функции будет передан адрес этой переменной. Тем самым вызываемая процедура может изменить значение фактического параметра: если будет измен формальный параметр процедуры, то переданный при вызове ей фактический параметр тоже изменит свое значение.
Способ передачи указывается при описании параметров в строке объявления подпрограммы. Имени параметра может предшествовать один из явных описателей способа передачи:
ByRef – задает передачу по ссылке;
ByVal – задает передачу по значению.
По умолчанию выполняется передача по ссылке.
Листниг 15. Передача параметров в подпрограмму
' sample10 - вызывающая программа (макрос)
' ByValByRefDemo - вызываемая процедура
Sub sample10()
Dim a As Long, b As Long, c As Long ' фактические параметры
a = 10
b = 10
c = 10
ByValByRefDemo a, b, c ' передача фактических параметров
Debug.Print "2: " & "a = " & a & "; b = " & b & "; c = " & c
End Sub
Sub ByValByRefDemo(x As Long, ByVal y As Long, ByRef z As Long)
' выполнение действий над формальными параметрами
x = x * 2 y = y * 3 z = z * 4
Debug.Print "1: " & "x = " & x & "; y = " & y & "; z = " & z
End Sub
Здесь объявлены две процедуры: sample10 и ByValByRefDemo. Процедура sample10 вызывает процедуру ByValByRefDemo и передает ей предварительно инициализированные переменные a, b и c. Процедура ByValByRefDemo получает значения переменных a, b и c в виде формальных параметров x, y и z соответственно, выполняет над ними указанные действия, выводит результат и завершается. После возврата из подпрограммы процедура sample10 выводит значения переменных a, b, c в окно отладчика (рис. 4).
Рис. 4. Передача параметров в подпрограмму
