Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ивличев П.С. Практикум по информационным технологиям. Ч. 10 Автоматизация работы

.pdf
Скачиваний:
17
Добавлен:
07.01.2021
Размер:
874.47 Кб
Скачать

Часть 2

21

Не забудьте описать переменные s и n, при выборе типа учитывайте смысл этих переменных.

Обратите внимание на необходимость преобразования типов при суммировании и записи данных в таблицу. Заметим, что

Функция Str( ) преобразует числовое значение в символьное.

Функция Val( ) преобразует строковое значение в числовое.

3. Удалите таблицу с данными, созданную при выполнении предыдущего задания. Проверьте правильность работы макроса, при необходимости отладьте код. Сохраните изменения в документе.

Начало

n = Selection.Tables(1).Rows.Count

i = 2 s = 0

Нет

i < = n

Да

s = s + Val(Selection.Tables(1).Cell(i, 2).Range.Text) i = i+1

Selection.InsertRowsBelow 1

Selection.Tables(1).Cell(i, 2).Range.Text = Str(s)

Конец

Рисунок 12 – Схема алгоритма накопления суммы

Задание 12. Модификация алгоритма накопления суммы (дополнительное задание)

1. Скопируйте полностью код макроса Макрос4_Insert_Tables_Single и вставьте его на новую строку рабочей области редактора. Переименуйте скопированную процедуру, дав ей имя Макрос4_0. Измените код макроса Макрос4_0 так, чтобы накопление суммы происходило сразу же при вводе данных с клавиатуры. Этим мы изба-

Часть 2

22

вимся от необходимости повторного перебора значений из таблицы и выполнения дополнительного цикла. Необходимость в переменной n также исчезает.

2. Удалите из документа таблицу, созданную при выполнении предыдущего задания. Проверьте правильность работы макроса. При необходимости отладьте код. Сохраните изменения в документе.

Часть 3

23

Часть 3. Элементы программирования в офисных приложениях

Текст документа Word представляет собой конструкцию довольно свободной формы: он состоит из символов, слов, предложений и абзацев. Word предоставляет коллекцию объектов для каждого из этих представлений:

Коллекция символов – Characters;

Коллекция слов – Words;

Коллекция предложений – Sentences;

Коллекция абзацев – Paragraphs.

Задание 13. Форматирование документа с использованием макросов

1. Скопируйте с сетевого ресурса файл ФЗ-149 Основа.docm. Ознакомьтесь с его содержимым.

Файл ФЗ-149 Основа.docm содержит неформатированный текст значительного объема, скопированный из СПС Консультант+ (в методических целях текст закона сокращен). Ручное форматирование такого текста весьма трудоемко (даже с использованием стилей). Заметим также, что большая часть правовых документов в СПС Консультант+ имеет сходную структуру, поэтому автоматизация их форматирования была бы весьма полезной.

Задача

Создать макрос для автоматического форматирования текста документа следующим образом:

1.Для всего документа:

гарнитура шрифта – Times New Roman;

размер шрифта – 14 пт;

междустрочный интервал – одинарный;

2.Для названий статей (абзац, начинающийся со слова Статья):

начертание шрифта – полужирное;

выравнивание абзацев – по центру;

интервал перед абзацем – 12 пт;

положение на странице – не отрывать от следующего

(Selection.Paragraphs.KeepWithNext = True);

3.Для текста статьи:

отступ первой строки – 1,27 см;

выравнивание абзацев – по ширине.

При реализации программного кода для решения задачи нужно сначала выделить весь документ и установить общие параметры форматирования. Затем последовательно перебрать все абзацы документа (объекты ActiveDocument.Paragraphs), определить, с какого слова начинается текущий абзац, и установить в нем соответствующее форматирование.

Часть 3

24

Перебор абзацев документа реализуем с помощью цикла с предусловием, условием входа в цикл для которого будет справедливость неравенства «номер текущего абзаца не превосходит количества абзацев документа».

При просмотре текста документа в зависимости от того, является ли первое слово текущего абзаца словом "Статья ", будет применяться разное форматирование. Такая алгоритмическая конструкция реализуется с помощью условного оператора (развилки).

Ветвящимся (развилкой) называется вычислительный процесс, который в зависимости от результата проверки условия («да» или «нет», «истина» или «ложь») может идти только по одному из альтернативных путей.

«Если – То – Иначе»

 

 

 

 

 

If условие Then

Да

 

Нет

действие1

 

 

условие

Else

 

 

 

 

 

действие 1

 

действие 2

действие2

 

 

 

 

 

End If

 

 

 

 

 

Для записи условий используют логические операторы и операторы сравнения, приведенные в таблице 2.

Таблица 2 – Логические операторы и операторы сравнения

 

Операция

Запись на Visual Basic

 

 

=

=

 

 

<>

 

 

<

<

 

 

>

>

 

 

и

And

 

 

или

Or

 

 

не

Not

 

2.Откройте документ ФЗ-149 Основа.docm. В редакторе VBA создайте макрос, доступный только для данного документа, выполняющий сформулированную ранее задачу по форматированию текста документа.

Ниже приведен шаблон текста программы с комментариями. Введите текст программы в окне редактора, дополнив его необходимыми командами для форматирования объектов. Завершив ввод каждой логически законченной части кода, выполните сохранение и запустите макрос на выполнение для облегчения работы по его отладке. После проверки работоспособности макроса возвращайте документу первоначальный вид.

3.Запустите готовый макрос на выполнение. Это удобно сделать из окна редактора макросов. Проверьте правильность работы макроса. При необходимости выполните его отладку. Продемонстрируйте работающий макрос преподавателю.

Часть 3

25

Совет: сохраняйте текущее состояние документа перед запуском на выполнение макроса – при неправильной работе макроса часто бывает легче закрыть документ без сохранения и затем вновь открыть его, чтобы вернуться к исходному состоянию документа.

Замечание. Подобные макросы, выполняющие практически значимые задачи по обработке документов, следует сохранять в шаблонах .dotm.

Шаблон текста макроса

Sub Макрос1()

форматирование всего документа

Selection.WholeStory

Selection.Font.Name = "Times New Roman" Selection.Font.Size = 14 Selection.Paragraphs.LineSpacing = LinesToPoints(1)

Dim all_par As Integer, i As Integer ‘ переменная all_par обозначает количество абзацев в документе, i обозначает номер текущего абзаца

all_par = ActiveDocument.Paragraphs.Count ‘ подсчет количества абзацев в доку-

менте

i = 1 ‘ текущим становится первый абзац

Do While i <= all_par ActiveDocument.Paragraphs(i).Range.Select If Selection.Words(1) = "Статья " Then

применение форматирования для названия статьи

...

Else

применение форматирования для текста статьи

...

End If i = i+1

Loop End Sub

Задание 14. Форматирование документа, имеющего сложную структуру (дополнительное задание)

1. Скопируйте с сетевого ресурса файл ФЗ149_Полная_версия.docm. Ознакомьтесь с его содержимым.

Файл ФЗ-149_Полная_версия.docm содержит неформатированный текст значительного объема, скопированный из СПС Консультант+.

Задача

Создать макрос для автоматического форматирования текста документа следующим образом:

1.Для всего документа (если не указано противное):

гарнитура шрифта – Times New Roman;

размер шрифта – 14 пт;

междустрочный интервал – одинарный;

Часть 3

26

2.Для названия документа (до слов Принят):

гарнитура шрифта – Arial;

все заглавные буквы;

начертание шрифта – полужирное;

выравнивание абзацев – по центру;

междустрочный интервал – полуторный;

3.Для атрибутов документа (до слов Статья 1):

размер шрифта – 10 пт;

выравнивание абзацев – по центру;

4.Для названий статей (абзац, начинающийся со слова Статья):

начертание шрифта – полужирное;

выравнивание абзацев – по центру;

интервал перед абзацем – 12 пт;

положение на странице – не отрывать от следующего

5.Для текста статьи:

отступ первой строки – 1,27 см;

выравнивание абзацев – по ширине;

6.Для примечаний в тексте статьи (абзац, начинающийся со слов (п...):

как для текста статьи + размер шрифта 10 пт + отступ первого абзаца отсутствует;

7.Подпись (последние пять абзацев):

выравнивание – по левому краю;

размер шрифта – 12 пт.

1.Откройте документ ФЗ-149_Полная_версия.docm. В редакторе VBA создайте макрос, доступный только для данного документа, выполняющий сформулированную ранее задачу по форматированию текста документа.

2.Запустите готовый макрос на выполнение. Проверьте правильность работы макроса. При необходимости выполните его отладку. Продемонстрируйте работающий макрос преподавателю.

Совет: сохраняйте текущее состояние документа перед запуском на выполнение макроса – при неправильной работе макроса часто бывает легче закрыть документ без сохранения и затем вновь открыть его, чтобы вернуться к исходному состоянию документа.

Часть 4

27

Часть 4. Формы и элементы управления в офисных приложениях

Одним из достоинств языка программирования VBA является то, что в данную среду программирования уже заложены возможности создания форм и их элементов без составления специального программного кода.

Практически во всех приложениях Office применяются пользовательские диалоговые окна. Диалоговые окна в VBA называют формами (UserForms). Каждому объекту UserForm присущи определенные свойства, методы и события, некоторые из них приведены в приложении 1. Формы и элементы управления составляют основу современного визуального интерфейса.

Диалоговые окна создаются, как правило, не программно, а визуально. Вначале создается само окно, а затем оно наполняется элементами управления при помощи панели элементов. Как только создается форма и на нее помещается элемент управления, в тот же момент в программе появляется объект соответствующего класса, с которым можно работать, вызывая его методы и изменяя его свойства.

Далее для объектов пишется программный код, который затем, в большинстве случаев, нужно отладить.

Конечный этап работы с макросом – этап выполнения, когда приложение выполняется, и конечный пользователь взаимодействует с приложением, в частности, через диалоговые окна и их элементы управления.

Задание 15. Интерфейс среды VBA

1.Откройте созданный ранее документ Рапорт.docm. Запустите

редактор VBA щелчком на кнопке вкладки Разработчик. Рассмотрите рисунок 13. Изучите элементы окна редактора VBA и их назначение.

Окно Проводника проекта вызывается командой View – Project Explorer. В этом окне представлен состав проекта.

Окно кода предназначено для записи программного кода. Его можно отобразить с помощью команды View – Code или двойным щелчком левой клавиши мыши на элементе управления формы. В левом списке окна устанавливается имя объекта, для которого пишется код, в правом – обрабатываемое событие.

Окно свойств вызывается командой View – Properties Window. С

помощью этого окна задаются свойства выбранного элемента управления. С помощью вкладок Alphabetic и Categorized свойства можно отсортировать по алфавиту или по функциональным категориям соответственно. Список свойств состоит из двух частей: в левой части выводится список всех суще-

Часть 4

28

ствующих свойств выбранного объекта, а в правой – установленные значения, которые можно редактировать или выбирать из списка.

Строка

Строка

Панель

заголовка

меню

инструментов

Окно

Окно проводника

Окно кода

свойств

проекта

 

 

Рисунок 13 – Окно редактора VBA

 

Задача

Создать в документе Рапорт.docm диалоговое окно, запрашивающее у пользователя звание и фамилию лица, подписывающего документ (рисунок 15). Введенные пользователем данные должны печататься в соответствующих местах таблицы в конце документа. Диалоговое окно должно отображаться при открытии документа.

Задание 16. Добавление в приложение формы Для добавления в приложение формы следует выделить в окне провод-

ника проекта объект Project нужного документа и выполнить команду меню Insert – UserForm. При этом будет выведено окно конструктора форм, представленное на рисунке 14, с шаблоном формы.

1.Добавьте в документ Рапорт.docm форму. Изучите ее свойства.

Каждый объект имеет свойство Name (Имя). Значение этого свойства определяет имя, по которому происходит обращение к объекту в программном коде. Имя объекту присваивается системой программирования автома-

Часть 4

29

тически при создании объекта, в ходе дальнейшей работы старайтесь не изменять имена объектов. Свойство Caption определяет заголовок объекта (надпись на нем).

2. Выясните, какое имя имеет добавленная форма, какой у нее по умолчанию заголовок. С помощью окна свойств измените заголовок формы на Оформление подписи.

3. Свойство BackColor определяет цвет формы. Измените цвет формы с помощью окна свойств.

Рисунок 14 – Конструктор формы

Задание 17. Управление отображением формы

1. В окне проводника проекта выберите проект своего документа

Project (Рапорт), откройте папку Microsoft Word Objects и дважды щелк-

ните на объекте ThisDocument – откроется окно редактора кода. С помощью левого списка выбора перейдите в раздел Document, в правом списке выбора укажите событие Open (открытие документа) – будет создана процедура обработки открытия документа.

Сделаем так, чтобы при открытии документа Рапорт.docm на экран выводилась созданная форма. Для этого в процедуру Private Sub Document_Open() следует добавить строку, применяющую метод Show к

объекту UserForm1.

2. Добавьте в процедуру строку UserForm1.Show Сохраните изменения в документе Рапорт.docm, закройте и снова откройте этот документ. Закройте появившуюся форму. Откройте окно редактора VBA.

Часть 4

30

Задание 18. Работа с конструктором форм

1.В окне проводника проекта выберите проект своего документа Project (Рапорт), откройте папку Forms и дважды щелкните на объекте UserForm1 – откроется окно конструктора формы с панелью элементов управления Toolbox.

2.Рассмотрите рисунок 15.

3.С помощью кнопки Label панели элементов управления добавьте на форму метку, нарисовав ее на поле формы. Изменив значение свой-

ства Caption, выполните надпись Введите инициалы и фамилию ра-

портующего лица. С помощью свойства Font установите для метки жирное начертание шрифта и размер 10 пт.

4.Аналогичным образом добавьте на форму метку Выберите звание рапортующего лица.

5.Добавьте на форму метку Выполнить подпись курсивом?.

Рисунок 15 – Макет формы

Элемент управления текстовое поле TextBox используется для органи-

зации ввода/вывода. Поле размещается на форме с помощью кнопки панели элементов управления и по умолчанию имеет имя Text1. В этом поле отображается информация, которая задается значением его свойства Text или

Value.

6. Разместите на форме текстовое поле для ввода текста. Удалите начальное значение свойства Text для того, чтобы при запуске проекта это поле было пустым. Выясните, какое имя имеет созданное текстовое поле.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]