- •Тема 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
- •Приложения по запросу
Фиксированные циклы
VBA предоставляет две управляющие структуры для организации фиксированного цикла: For … Next (цикл со счетчиком) и For Each … Next (цикл с перечислением).
Оператор For … Next это типовой цикл со счетчиком, выполняющий заданное число итераций. Синтаксис оператора For … Next:
For <счетчик> = <начЗначение> То <конЗначение> [Step <приращение>]
<блок операторов>
Next [<счетчик>]
Пример использования оператора For ... Next.
Листинг 9. Оператор For … Next
' ЗАДАЧА: Составить программу, которая получает два числа от пользователя.
' Складывает все числа в диапазоне, заданном этими двумя числами, а затем
' отображает результирующую сумму.
Sub sample7()
Dim i As Integer ‘счетчик цикла
Dim sStart ‘начальное значение счетчика
Dim sEnd ‘конечное значение счетчика
Dim sSum As Long ‘результирующая сумма
sStart = InputBox("Введите первое число:")
sEnd = InputBox("Введите второе число:")
sSum = 0
For i = CInt(sStart) To CInt(sEnd)
sSum = sSum + i
Next i
MsgBox "Сумма чисел от " & sStart & " до " & sEnd & " равна: " & sSum
End Sub
Оператор цикла For Each … Next относится к категории операторов объектного типа, т.е. применяется в первую очередь к коллекциям объектов, а также к массивам. Тело цикла выполняется фиксированное число раз, соответствующее числу элементов массива или коллекции. Формат оператора For Each … Next:
For Each <элемент> In <группа> <блок операторов> Next [<элемент>]
Циклы с условием (неопределенные циклы)
Циклы с условием используются в тех случаях, когда повторяющиеся действия нужно выполнять только при определенных условиях. Количество итераций не определено и в общем случае может быть равно нулю (в частности, для циклов с предусловием). VBA предлагает разработчикам несколько управляющих структур для организации циклов с условием:
Четыре вида циклов Do..Loop, которые различаются типом проверяемого условия и временем выполнения этой проверки.
Непрерываемый цикл While … Wend.
Цикл Do While … Loop - типичный цикл с предусловием. Условие проверяется до того, как выполняется тело цикла. Цикл продолжает свою работу, пока это <условие> выполняется (т.е. имеет значение True). Так как проверка выполняется в начале, то тело цикла может ни разу не выполниться. Формат цикла Do While … Loop:
Do While <условие>
<блок операторов>
Loop
Листинг 10. Цикл Do While … Loop
' ЗАДАЧА: Составить программу, которая предусматривает ввод пользователем
' произвольной последовательности чисел. Ввод должен быть прекращен
' только после того, как сумма введенных нечетных чисел превысит 100.
Sub sample8()
Dim OddSum As Integer ‘сумма нечетных чисел
Dim OddStr As String ‘строка с нечетными числами
Dim Num ‘для приема вводимых чисел
OddStr = "" ‘инициализация выходной строки
OddSum = 0 ‘инициализация суммы OddSum
Do While OddSum < 100 ‘начало цикла
Num = InputBox("Введите число: ")
If (Num Mod 2) <> 0 Then ‘проверка на четность
OddSum = OddSum + Num ‘накопление суммы нечетных чисел
OddStr = OddStr & Num & " "
End If
Loop
'вывод строки с нечетными числами
MsgBox prompt:="Нечетные числа: " & OddStr
End Sub
Оператор Do … Loop While предназначен для организации цикла с постусловием. Условие проверяется после того, как тело цикла, будет выполнено хотя бы один раз. Цикл продолжает свою работу, пока <условие> остается истинным. Формат цикла Do … Loop While:
Do <блок операторов> Loop While<условие>
Листинг 11. Цикл с постусловием
' ЗАДАЧА: Составить программу игры "Угадай число". Программа должна случайным
' образом генерировать число в диапазоне от 1 до 1000, пользователь должен
' угадать это число. Программа на каждое вводимое число выводит подсказку
' "больше" или "меньше".
Sub sample8()
Randomize Timer ' инициализация генератора случайных чисел
Dim msg As String ' строка сообщения
Dim SecretNumber As Long, UserNumber As Variant
Begin: SecretNumber = Round(Rnd * 1000) ' число, сгенерированное компьютером
UserNumber = Empty ' число, вводимое пользователем
Do ' игровой процесс
Select Case True
Case IsEmpty(UserNumber): msg = "Введите число"
Case UserNumber > SecretNumber: msg = "Слишком много!"
Case UserNumber < SecretNumber: msg = "Слишком мало!"
End Select
UserNumber = InputBox(prompt:=msg, Title:="Угадай число")
Loop While UserNumber <> SecretNumber
' проверка
If MsgBox("Играть еще? ", vbYesNo + vbQuestion, "Вы угадали!") = vbYes Then
GoTo Begin
End If
End Sub
Циклы Do Until … Loop и Do … Loop Until являются инверсиями ранее рассмотренных циклов с условием. В общем случае они работают аналогично, за исключением того, что тело цикла выполняется при ложном условии (т.е. <условие>=False). Формат цикла Do Until … Loop:
Do Until <условие> <блок операторов> Loop
Формат цикла Do … Loop Until:
Do
<блок операторов>
Loop Until<условие>
Практическое задание: Перепишите программы из листингов 10 и 11 с использованием инвертированных операторов цикла.
Цикл While … Wend также относится к циклам с условием. Данный оператор полностью соответствует структуре Do While … Loop. Формат цикла While … Wend:
While <условие>
<блок операторов>
Wend
Отличительной особенностью этого оператора является невозможность принудительного завершения (прерывания) тела цикла (оператор Exit Do не работает в цикле While … Wend).
