
- •Л.Н. Лядова, н.В. Фролова, в.В. Ланин, е.Б. Замятина, м.А. Плаксин, б.А. Ермолаев
- •Часть 2. Основы офисного программирования
- •Оглавление
- •Глава 6. Использование Win32 api 113
- •Глава 7. Использование шаблонов и надстроек 118
- •Глава 8. Разработка приложений с помощью Excel 122
- •Глава 9. Разработка приложений с помощью Word 223
- •Глава 10. Использование Automation при интегрировании компонентов Microsoft Office 256
- •Глава 11. Организация доступа к внешним данным 279
- •Глава 12. Общие рекомендации по разработке приложений 297
- •Глава 13. Разработка справочной системы 298
- •Глава 14. Дополнительные рекомендации 301
- •Пояснительная записка
- •Уровень предварительной подготовки слушателей
- •Образовательные цели и задачи
- •Знания и навыки, получаемые в ходе изучения курса
- •Содержание занятий
- •Вопросы для самостоятельного изучения
- •Содержание лабораторных работ
- •Итоговые работы
- •Введение
- •Глава 1.Общая характеристика возможностей vba
- •Глава 2.Основные принципы разработки приложений
- •Глава 3.Основные правила разработки интерфейса
- •Глава 4.Visual Basic для приложений
- •Глава 5.Введение в язык и редактор Visual Basic
- •5.1.Окно Редактора Visual Basic
- •5.2.Основные правила записи программ на vba
- •5.2.1. Описания в программах на языке vba
- •5.2.2. Структуризация программ vba и правила записи кода процедур
- •5.2.3. Использование параметров
- •5.2.4. Типы данных vba
- •5.2.5. Описания переменных
- •5.2.6. Объекты в программах на vba и объектные переменные
- •5.2.7. Создание объектов пользователя
- •5.2.8. Описание и использование констант
- •5.2.9. Массивы в vba
- •5.2.10. Описание типов данных пользователя
- •5.2.11. Запись выражений на vba
- •5.2.12. Рекурсивные вычисления
- •5.2.13. Процедуры-подпрограммы
- •5.2.14. Процедуры-функции
- •5.2.15. Процедуры-свойства
- •5.2.16. Создание процедур
- •5.2.17. Управляющие структуры vba и события
- •5.3.Запуск программ
- •5.4.Отладка программ
- •5.5.Обработка ошибок
- •5.6.Преобразования типов
- •5.7.Функции для работы с датами и временем
- •5.8.Управление файлами
- •5.9.Функции проверки
- •5.10.Функции работы со строками
- •5.11.Взаимодействие с пользователем
- •5.12.Пользовательские формы и диалоговые окна
- •5.13.Создание пользовательских меню и панелей инструментов
- •5.14.Разработка контекстного меню
- •5.15.Открытие проектов, экспорт и импорт
- •Глава 6.Использование Win32 api
- •Глава 7.Использование шаблонов и надстроек
- •Глава 8.Разработка приложений с помощью Excel
- •8.1.Иерархия объектов Excel
- •8.2.Обзор основных объектов Excel
- •8.2.1. Объект Application
- •8.2.2. Объект Workbook
- •8.2.3. Объект WorkSheet
- •8.2.4. Объект Range
- •8.2.5. Графические объекты
- •8.2.6. Элементы управления и обработка событий
- •8.3.Представление данных и вычисления в таблицах Excel
- •8.3.1. Ссылки на ячейки рабочих листов Excel
- •8.3.2. Работа с формулами
- •8.3.3. Использование функций
- •8.3.4. Создание пользовательских функций рабочего листа
- •8.3.5. Массивы Excel
- •8.3.6. Определение связей между таблицами
- •8.3.7. Консолидация данных
- •8.3.8. Форматирование данных в таблицах
- •8.4.Анализ данных и подведение итогов
- •8.4.1. Создание сводных таблиц
- •8.4.2. Подведение промежуточных итогов
- •8.4.3. Определение частичных сумм
- •8.4.4. Создание диаграмм
- •8.4.5. Работа со структурой данных
- •8.5.Подбор параметров и поиск решения
- •8.6.Использование сценариев
- •8.7.Поиск и отбор данных в таблицах Excel
- •8.7.1. Использование автофильтра
- •8.7.2. Работа с расширенным фильтром
- •8.7.3. Поиск данных по подписям строк и столбцов
- •8.8.Упорядочение данных в таблицах
- •8.9.Защита приложений Excel
- •8.9.1. Защита от ошибок при вводе данных
- •8.9.2. Защита данных от несанкционированного доступа
- •Глава 9.Разработка приложений с помощью Word
- •9.1.Модель объектов Word
- •9.1.1. Объект Document
- •9.1.2. Другие дочерние объекты приложения Word
- •9.2.Работа с полями
- •9.3.Переменные документа
- •9.4.Использование формул в документах Word
- •9.5.Использование элементов управления в документах Word
- •9.6.Создание шаблонов документов на основе таблиц
- •9.7.Защита документов Word и кода
- •Глава 10.Использование Automation при интегрировании компонентов Microsoft Office
- •10.1.Технология ActiveX
- •10.2.Компонентная модель объектов, внедрение и связывание
- •10.3.Создание объектов Automation
- •10.4.Получение доступа к объекту
- •10.5.Пример вычислений в Access с помощью Excel
- •10.6.Управление связанными и внедренными объектами с помощью программного кода
- •Глава 11.Организация доступа к внешним данным
- •11.1.Доступ к данным из клиентских приложений
- •11.2.Интерфейс odbc
- •11.3.Использование dao для доступа к данным
- •11.3.1. Модель объектов dao
- •11.3.2. Создание рабочей области и открытие источника данных
- •11.3.3. Исследование структуры таблиц бд
- •11.3.4. Операции над данными
- •11.4.Интеграция данных и работа в сети
- •11.4.1. Доступ к данным Excel из субд Access
- •11.5.Выбор метода доступа к данным
- •Глава 12.Общие рекомендации по разработке приложений
- •Глава 13.Разработка справочной системы
- •13.1.Использование всплывающих подсказок
- •13.2.Контекстная справка «Что это такое?»
- •13.3.Подготовка файла справки
- •Глава 14.Дополнительные рекомендации Установка приложения
- •14.1.Повышение эффективности работы приложения
- •Приложение 1. Система автоматизации подготовки документов на основе пакета Microsoft Office
- •Требования к системе Office case
- •Интеллектуальность документа
- •Однократный ввод данных и их совместное использование
- •Дружественный интерфейс – «ориентация на человека»
- •Мобильность
- •Независимость от версии Microsoft Office
- •Поддержка языка разметки документов xml
- •Общий сценарий использования
- •Структура Office case
- •Структура скрытого раздела документа
- •В. Таблица ограничений
- •Подсистемы программного проекта документа Менеджер закладок
- •Менеджер классификаторов
- •Подсистема управления интерфейсом пользователя
- •Подсистема контроля данных
- •Подсистема информационного обмена
- •Дизайнер системы документов
- •Редактор классификаторов
- •Редактор правил
- •Редактор закладок
- •Редактор блоков данных
- •Пример применения Office case Постановка задачи
- •Реализация Документы «Подсистемы автоматизации подготовки отчетов»
- •Требования к квалификации пользователей
- •Установка приложения и подготовка к работе
- •Интерфейс первичных документов
- •Интерфейс сводных документов
- •Приложение 2. Автоматизированное рабочее место «Оператор автозаправочной станции»
- •Разработка структуры рабочей книги
- •Настройка пользовательского интерфейса
- •Разработка экранных форм
- •Приложение 3. Автоматизация заполнения бланка с помощью программы текстового процессора Word Постановка задачи
- •Разработка документа
- •Разработка экранной формы
- •Список литературы
Разработка экранной формы
Экранная форма приложения должна предоставить возможность ввода данных в поля документа и проверку корректности этих данных. Для разработки формы необходимо переключится в среду программирования VBA с помощью комбинации клавиш «Alt+F11».
Рис. ХХ. Внешний вид экранной формы
Программный код формы представлен ниже. В процедуре UserForm_Initialize производится загрузка данный из таблицы «Список курсов». При нажатии на кнопку печать данные с формы переносятся в соответствующие ячейки таблицы. Команда Application.PrintOut выводит первую страницу документа на печать. Также в эту процедуру следует добавить проверку введенных пользователем данных.
Private Sub cmdОтмена_Click()
Me.Hide
End Sub
Private Sub cmdПечать_Click()
With ThisDocument.Tables(1)
.Cell(1, 1).Range.Text = txtФИО.Text
.Cell(2, 1).Range.Text = CStr(dtpДатаНачала.Value) + _
CStr(dtpДатаОкончания.Value)
.Cell(3, 1).Range.Text = txtУчреждение.Text
.Cell(4, 1).Range.Text = cmbНазваниеКурса.Text
.Cell(5, 1).Range.Text = txtКоличествоЧасов.Text
End With
Application.PrintOut FileName:="", _
Range:=wdPrintRangeOfPages, _
Item:=wdPrintDocumentContent, Copies:=1, Pages:="1", _
PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, Collate:=True, _
Background:=True, PrintToFile:=False, _
PrintZoomColumn:=0, PrintZoomRow:=0, _
PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
End Sub
Private Sub UserForm_Initialize()
Dim i As Integer
With ThisDocument.Bookmarks("СписокКурсов").Range.Tables(1)
For i = 2 To .Rows.Count
cmbНазваниеКурса.AddItem .Cell(i, 1).Range.Text
Next
End With
End Sub
Список литературы
Бакланов Д.М., Варламов А.А., Ланин В.В., Лядова Л.Н. Подсистема репортинга программного комплекса MDK METAS // Математика программных систем: Межвуз. сб. науч. тр. / Перм. ун-т. Пермь, 2003. С.19-34
Биллиг В.А. VBA в Office 2000. Офисное программирование. M.: Издательско-торговый дом «Русская редакция», 1999. – 480 с.: ил.
Вемпен Ф. Microsoft Office 97 Professional. 6 книг в одной / Пер. с англ. М.: БИНОМ, 1997. 720 с.
Власенко С., Маленкова А. Word 97 в вопросах и ответах. СПб: BHV–Санкт-Петербург, 1997. 336 с.
Джонс Э., Саттон Д. Библия пользователя Office 97 / Пер. с англ. Киев: Диалектика, 1997. – 848 с.
Замятина E.Б., Лядова Л.Н. Офисные технологии и основы Visual Basic for Application. Пермь: Перм. ун-т, 2001. – 232 с.: ил.
Карлберг К. Бизнес-анализ с помощью Excel / Пер. с англ. Киев.: Диалектика, 1997. 448 с.
Ланин В.В. Автоматизация подготовки отчетов на основе приложений Microsoft Office// Математика программных систем: Межвуз. сб. науч. тр. / Перм. ун-т. Пермь, 2002. С. 72-79.
Ланин В.В. Система автоматизации подготовки документов на основе пакета Microsoft Office // Конференция-конкурс работ студентов, аспирантов и молодых ученых «Технологии Microsoft в информатике и программировании»: Сб. тр. конф. Новосибирск, 2004. С.21-23.
Ланин В.В. Система управления документами в распределенных средах, основанная на метаданных // Труды 5-ой Всероссийской научно-практической конференции молодых ученых, аспирантов и студентов "Молодежь. Образование. Экономика". Ярославль, 4 мая, 2004.
Ланин В.В., Лядова Л.Н. Система автоматизации подготовки и обработки отчетов на основе документов Microsoft Office в многоуровневой распределенной системе управления // Международный конгресс конференций «Информационные технологии в образовании». XIII Международная конференция «Информационные технологии в образовании»: Сборник трудов участников конференции. Часть V. М.: Просвещение, 2003. С. 216‑217.
Линекер Р.С., Арчер Т. Программирование для Windows 98. Библия разработчика / Пер. с англ. М.: Диалектика, 1999. 864 с.
Лоу Д. Секреты Word для Windows 95. Киев: Диалектика, 1996. 576 с.
Лядова Л.Н. Архитектура информационной системы «Образование Пермской области» // Математика программных систем: Межвуз. сб. науч. тр. / Перм. ун-т. Пермь, 2002. С.25-35.
Лядова Л.Н. Архитектура информационной системы «Образование Пермской области» // Математика программных систем: Межвуз. сб. научн. тр. / Перм. ун‑т. Пермь, 2002. С. 25‑35.
Миков А.И., Лядова Л.Н., Воронцова Т.В. Информационная система «Образование Пермской области» // XII конференция-выставка «Информационные технологии в образовании»: Сб. тр. конф. Часть IV. М.: МИФИ, 2002. С.204-207.
Минаси М., Кристиансен Э., Шепер К. Windows 98: полное руководство / Пер. с англ. Киев: Издательская группа BHV, 1999. 800 с.
Персон Р. Microsoft Excel 97 в подлиннике: В 2 т./ Пер. с англ. СПб.: BHV–Санкт-Петербург, 1997. Том I. 672 с.
Персон Р. Microsoft Excel 97 в подлиннике: В 2 т./ Пер. с англ. СПб.: BHV–Санкт-Петербург, 1997. Том II. 640 с.
Санна П. Visual Basic для приложений (версия 5) в подлиннике. СПб.: BHV–Санкт-Петербург, 1997.
Соломон К. Microsoft Office 97: разработка приложений. СПб.: BHV–Санкт-Петербург, 1998.
Соломон К. Microsoft Office: Разработка приложений. СПб.: BHV-Санкт-Петербург, 1998. – 560 с.: ил.
Уокенбах Дж. Excel-97. Библия пользователя. Киев: Диалектика, 1997. 620 с.
Уэллс Э., Хешбаргер С. Microsoft Excel 97: разработка приложений. СПб.: BHV–Санкт-Петербург, 1998.
Уэллс Э., Хешбаргер С. Microsoft Excel: Разработка приложений. СПб.: BHV-Санкт-Петербург, 1998. – 624 с.: ил.
Хэлворсон М., Янг М. Эффективная работа с Microsoft Office 95 / Пер. с англ. СПб: Питер, 1996. 1024 с.
Microsoft Excel 2000: Справочник. СПб.: Изд‑во «Питер», 1999.
Microsoft Windows 95. Шаг за шагом: Практ. пособие / Пер. с англ. М.: ЭКОМ, 1996. – 320 с.
Microsoft Word 2000: Справочник. СПб.: Изд‑во «Питер», 1999.