
- •Оглавление
- •Создание vba приложения
- •Задание 1
- •Автоматический запуск процедур
- •Границы таблицы
- •Свойства и методы объекта Table
- •Коллекция строк таблицы Rows
- •Работа с ячейками Запись информации в ячейки таблицы
- •Задание №3
- •Чтение информации из ячейки
- •Задание №4
- •Экспорт-импорт модулей
- •Задание №5
Михайличенко В.Н. |
Лабораторная работа. Создание форм для документа Word. Создание и сохранение документов Word. |
|
Лабораторная работа №2
Тема: Создание форм для документа Word. Создание и сохранение документов Word.
Отчет: Шаблон Word с выполненной лабораторной работой.
Оглавление
Создание VBA приложения 1
Задание 1 1
Автоматический запуск процедур 2
Задание 2 3
Работа с таблицами. 3
Коллекция Tables 3
Метод Add 3
Границы таблицы 4
Свойства и методы объекта Table 5
Коллекция строк таблицы Rows 5
Работа с ячейками 6
Запись информации в ячейки таблицы 6
Задание №3 6
Чтение информации из ячейки 8
Задание №4 8
Экспорт-импорт модулей 9
Задание №5 9
Создание vba приложения
Д
окумент
Word
может содержать не только модули с
макросами, но и формы. Для добавления в
VBA-проект
формы можно использовать меню Insert
или кнопку панели инструментов окна
редактора VBA.
На форме можно размещать различные управляющие элементы, список которых можно увеличить с помощью пункта Additional Controls… меню Tools или щелчком правой кнопки на свободном месте ToolBox.
Задание 1
1.1. Откройте шаблон LabWord1 через команду Word Открыть.
1.2. Создать форму, содержащую 5 текстовых полей для ввода
• фамилии
•
имени
• отчества ( не обязательное поле)
• даты
• темы события
1.3. На форме создать 3 кнопки.
При нажатии кнопки "Создать" выполняются следующие действия:
• создается новый документ ( для программирования создания нового файла запишите соответствующий макрос и изучите его);
• для создания извещения вызываются все 3 макроса (из макроса Текст_Извещения убрать текст в угловых скобках)
• происходит переход к закладкам и вставка информации из формы:
закладка "Кто" — фамилия, имя и отчество;
закладка "Когда" — дата события;
закладка "Что" — что за событие.
Для программирования перехода к закладке запишите соответствующий макрос и изучите его.
• сохраняется файл под именем <фамилия>.docх
• закрывается окно созданного файла. (в первом варианте не делать)
При нажатии кнопки "END" завершается работа программы. Обработчик соответствующего события содержит только оператор END.
Автоматический запуск процедур
Auto- макросы автоматически вызываются при наступлении соответствующего события.
Имя макроса |
Когда вызывается |
AutoExec |
123text456 |
AutoNew |
При создании нового документа на базе шаблона, содержащего макрос |
AutoOpen |
При открытии документа, содержащего макрос |
AutoClose |
При закрытии документа, содержащего макрос или основанного на шаблоне с макросом |
AutoExit |
При закрытии Word или выгрузке глобального шаблона с макросом |
Нажатая клавиша Shift предотвращает вызов Auto-макросов. Вызов этих макросов можно заблокировать
WordBasic.DisableAutoMacros
Задание 2
2.1. Создать процедуру AutoOpen, которая показывает созданную форму.
2.2.
Добавить кнопку Quit,
обработчик события Click
которой вызывает метод Quit
объекта Application
и тем самым закрывает приложение.
2.3. Создать процедуру AutoClose, которая выводит сообщение "Пока".
2.4. Закрыть и снова открыть файл. Проанализировать работу авто-макросов.
Работа с таблицами.
Коллекция Tables
Коллекция Tables включает все таблицы документа (Documents(1).Tables), некоторой области (myRange.Tables) или выделенной части (Selection.Tables). Ее основное свойство Count определяет количество таблиц в документе.
If ActiveDocument.Tables.Count=0 Then
MsgBox "Документ " & ActiveDocument.Name & " не содержит таблиц!"
End If
Метод Add
Метод Add объекта Tables позволяет создать новую таблицу и добавить ее в коллекцию.
ActiveDocument.Tables.Add(Range, NumRows, NumColumns,_ DefaultTableBehavior, AutoFitBehavior)
Первые три параметра являются обязательными.
Range определяет область, в которую будет вставлена новая таблица, имеющая NumRows строк и NumColumns столбцов.
Таблица заменит область Range, если эту область не сжать методом Collapse.
Dim tabRange As Range
Set tabRange = ActiveDocument.Paragraphs(2).Range
tabRange.Collapse wdCollapseStart
ActiveDocument.Tables.Add tabRange, 3, 4
В приведенном примере таблица вставляется перед вторым абзацем активного документа. Если область вставки не сжать, второй параграф будет заменен таблицей.