
- •Тема 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
- •Коллекция CommandBarControls
- •Объект CommandBarControl
- •Свойства объекта 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
- •Приложения по запросу
Создание экземпляра приложения-сервера
Задание ссылки на соответствующую библиотеку объектов - это необходимое, но недостаточное условие для использования объектов этой библиотеки. Нужно также с помощью процедуры создать экземпляр приложения-сервера. Для этого используется оператор CreateObject (Создать объект). Только после создания экземпляра приложения-сервера можно использовать все открытые объекты этого приложения, а также их свойства и методы. В листинге 32 приведен код, создающий экземпляр Word.
Листинг 32. Создание экземпляра Word
Dim у As Word.Application Set у = CreateObject("Word.Application")
После создания экземпляра приложения-сервера, можно использовать его объекты, свойства и методы точно так же, как и объекты, свойства и методы Excel. Из этого следует, что можно записать макрос в Word, а затем полученный код вставить в процедуру Excel. Далее в код при необходимости можно внести изменения, или как-нибудь еще использовать этот код.
Использование объектов Microsoft Word
Рассмотрим простое приложение, вставляющее диапазон ячеек рабочего листа Excel в письмо, созданное в Word. В программе Word создадим документ следующего содержания:
Менеджеру по продажам Посылаю Вам таблицу с итоговыми данными по объемам продаж. Если у Вас есть вопросы, то свяжитесь со мной. С уважением, Босс
Сохраните этот текст в файле letter.doc. Теперь вставим в письмо две закладки. Закладка - это поименованное место в документе Word. Для вставки закладок выполните следующие действия.
Установите курсор в начало фразы Менеджеру по продажам.
Выполните команду Вставка > Закладка, откроется диалоговое окно Закладка.
Введите Регион в качестве имени закладки и щелкните на кнопке Добавить.
Добавьте пустую строку перед С уважением. Установите курсор в эту пустую строку и вставьте закладку Данные.
Сохраните и затем закройте документ.
Перейдите в Excel и создайте таблицу с данными, подобную приведенной на рис. 11. Эта таблица далее будет скопирована и вставлена в документ letter.doc. Вернитесь в Word и начните запись макроса с именем Данные_продажи, предварительно открыв новый документ. Для начала записи макроса в Word необходимо выполнить те же действия, что и в Excel. Прежде всего выполните команду Сервис > Макрос > Начать запись.
Рис. 11. Таблица данных, которую надо вставить в письмо
Во время записи макроса выполните следующие действия.
Выберите команду Файл > Открыть и откройте документ letter.doc.
Выполните команду Правка > Перейти. В диалоговом окне Найти и заменить на вкладке Перейти в списке Объект перехода выберите пункт Закладка, а затем в раскрывающемся списке Введите имя закладки выберите Регион. Щелкните на кнопке Перейти.
Теперь выберите закладку Данные и щелкните на кнопке Перейти.
Щелкните на кнопке Закрыть для удаления диалогового окна Найти и заменить.
Остановите запись макроса.
Выполнив команду Сервис > Макрос > Макросы, откроете диалоговое окно Макрос и выберите макрос Данные_продажи. Для просмотра кода этого макроса щелкните на кнопке Изменить. Удалите строки из процедуры так, чтобы у вас осталось то, что показано в листинге 33.
Листинг 33. "Остаток" процедуры Данные продажи
Sub Данные_продажи() Documents.Open FileName:="Письмо.doc" Selection.GoTo What:=wdGoToBookmark, Name:="Регион" Selection.GoTo What:=wdGoToBookmark, Name:="Данные" End Sub
Этот код будет основой процедуры, которую мы создаем в Excel. Скопируйте эту процедуру в буфер обмена. Закройте Word, вернитесь в Excel и откройте редактор Visual Basic. Добавьте модуль в текущую рабочую книгу и вставьте в него скопированную процедуру. Теперь надо создать экземпляр Word, а также перед каждой строчкой процедуры поставить имя переменной, соответствующей экземпляру Word. Самый простой способ сделать это - применить оператор With. Код измененной процедуры показан в листинге 34.
Листинг 34. Процедура Данные продажи с экземпляром Word
Sub Данные_продажи() Dim y As Word.Application Set y = CreateObject("Word.Application") With y .Documents.Open FileName:="Письмо.doc" .Selection.GoTo What:=wdGoToBookmark, Name:="Регион" .Selection.GoTo What:=wdGoToBookmark, Name:="Данные" End With End Sub
Осталось добавить код, копирующий таблицу данных в Excel и вставляющий ее в документ Word. Полный код процедуры приведен в листинге 35.
Листинг 35. Законченная процедура Данные продажи '
Sub Данные_продажи() Dim y As Word.Application Set y = CreateObject("Word.Application") With y .Visible = True .Documents.OpenFileName:="C:\Мои документы\letter.doc" Worksheets("Лист1").Range("B1").Copy .Selection.GoTo What:=wdGoToBookmark, Name:="Регион" .Selection.Paste Application.CutCopyMode = False Worksheets("Лист1").Range("A3:D11).Select .Selection.Copy .Selection.GoTo What:=wdGoToBookmark, Name:="Данные" .Selection.Paste Application.CutCopyMode = False End With End Sub
Первый оператор .Visible = True устанавливает свойство Word Visible (Видимый) как True, тем самым открывая окно программы Word и выводя его на передний план. Далее открывается документ Письмо. Затем копируется содержимое ячейки В1, содержащей название региона, осуществляется переход к закладке Регион и вставляется содержимое ячейки В1. Установка свойства Excel cutCopyMode (Режим вырезания и копирования) как False снимает выделение с ячейки В1:
.Documents. OpenFileName:="C:\Мои документы\letter.dос" Worksheets("Лист1").Range("B1").Copy .Selection.GoTo What:=wdGoToBookrnark, Name:="Регион" .Selection.Paste Application.CutCopyMode = False
Затем аналогичная процедура копирования и вставки выполняется для диапазона А3:D11. Результат работы программы приведен на рис. 12.
Рис. 12. Документ Word со вставленными данными Excel
В заключение перечислим этапы выполнения этого примера.
Создание файла в приложении-сервере.
Создание таблицы данных в Excel (приложении-клиенте).
Запись макроса в приложении-сервере.
Копирование кода записанного макроса и вставка его в процедуру, создаваемую в Excel.
Изменение процедуры Excel для создания экземпляра приложения-сервера.
Как видно из примера, использование технологии автоматизации позволяет внедрять и использовать объекты других приложений в проектах VBA.