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

Автоматизация процесса создания офисных документов. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
Private Sub CommandButton1_Click() TextBox1 = "Информационные технологии" End Sub Private Sub CommandButton2_Click() TextBox1 = "" End Sub Private Sub CommandButton3_Click() End End Sub Private Sub CommandButton4_Click() BackColor = (Rnd * 56000) End Sub
Написать пояснения к программному коду.
5. Создать в VBA пользовательскую форму «Калькулятор арифметиче-
ский», представленную на рисунке 7.23. Для создания формы использовать текстовый процессор MS Word.
Программный код, для активизации формы, может выглядеть следующим
образом:
Private Sub CommandButton1_Click() TextBox3.Text = CInt(TextBox1.Text) + _
CInt(TextBox2.Text)
Рис.7.23. Пользовательская форма «Калькулятор арифметический»
End Sub Private Sub CommandButton2_Click() TextBox3.Text = CInt(TextBox1.Text) – _ CInt(TextBox2.Text) End Sub Private Sub CommandButton3_Click()
71
TextBox3.Text = CInt(TextBox1.Text) * _ CInt(TextBox2.Text) End Sub Private Sub CommandButton4_Click() TextBox3.Text = CInt(TextBox1.Text) / _ CInt(TextBox2.Text) End Sub Private Sub CommandButton5_Click() TextBox3.Text = "" TextBox2.Text = "" TextBox1.Text = "" End Sub Private Sub CommandButton6_Click() End End Sub
Написать пояснения к программному коду.
6. Создать в VBA пользовательскую форму «Дробный калькулятор»,
представленную на рисунке 7.24. Для создания формы использовать текстовый процессор MS Word.
Рис. 7.24. Пользовательская форма «Дробный калькулятор»
Программный код для активизации формы «Дробный калькулятор», мо-
жет выглядеть приблизительно следующим образом:
Private Sub CommandButton1_Click() Dim a As Single Dim b As Single
72
Dim c As Single Dim s As Single Dim D1 As Single Dim D2 As Single a = Val(TextBox1.Text) b = Val(TextBox2.Text) c = Val(TextBox3.Text) s = Val(TextBox4.Text) D1 = a / b D2 = c / s TextBox5.Text = Str(D1 + D2) End Sub Private Sub CommandButton2_Click() a = Val(TextBox1.Text) b = Val(TextBox2.Text) c = Val(TextBox3.Text) s = Val(TextBox4.Text) D1 = Val(a / b) D2 = Val(c / s) TextBox5.Text = Str(D1 – D2) End Sub Private Sub CommandButton3_Click() a = Val(TextBox1.Text) b = Val(TextBox2.Text) c = Val(TextBox3.Text) s = Val(TextBox4.Text) D1 = Val(a / b) D2 = Val(c / s) TextBox5.Text = Str(D1 * D2) End Sub Private Sub CommandButton4_Click() a = Val(TextBox1.Text) b = Val(TextBox2.Text) c = Val(TextBox3.Text) s = Val(TextBox4.Text) D1 = Val(a / b) D2 = Val(c / s) TextBox5.Text = Str(D1 / D2)
73
End Sub Private Sub CommandButton5_Click() End End Sub
Написать пояснения к программному коду.
7. Создать в VBA пользовательскую форму «Времена года», представ-
ленную на рисунке 7.25. Для создания формы использовать табличный процес­сор MS Excel.
Рис. 7.25. Пользовательская форма «Времена года»
Программный код, для активизации формы «Времена года», может вы-
глядеть приблизительно следующим образом:
Private Sub CommandButton1_Click() Dim x As Byte x = Val(TextBox1.Text) Select Case x Case 12, 1, 2 TextBox2.Text = "Зима" Case 3, 4, 5 TextBox2.Text = "Весна" Case 6, 7, 8 TextBox2.Text = "Осень" Case 9, 10, 11 TextBox2.Text = "Зима" Case Else Label3.Caption = "Номер задан неверно" End Select End Sub
74
Private Sub CommandButton2_Click() End End Sub
Написать пояснения к программному коду.
8. Создать бланк по образцу, представленному на рисунке 7.9 с
использованием Элемента управления формы Поле со списком.
8. Импорт и экспорт макросов. Защита листа
8.1 Обмен макросами в приложениях MS Office
Перенести макрос, например в MS Excel, из одной рабочей книги в другую рабочую книгу или шаблон не составляет особого труда. Для этого следует открыть обе рабочие книги и войти в редактор VBA. Затем в окне проекта перетащить левой кнопкой мыши модуль, в котором находится макрос, из проекта одной книги в проект другой книги.
Может оказаться более удобным другой способ, если, например, создается библиотека стандартных модулей, из которой по мере необходимости импортируются нужные модули во вновь создаваемые книги.
8.2 Экспорт макроса
Как известно, макросы являются содержимым стандартных модулей. Чтобы выполнить операцию по экспорту макроса, нужно экспортировать целиком весь модуль, в котором этот макрос хранится. При этом необходимо выполнить следующие действия:
открыть рабочую книгу, в которой содержится интересующий нас
модуль;
запустить редактор VBA;
щелкнуть правой кнопкой мыши нужный модуль в окне проекта;
из контекстного меню выбрать пункт Export File;
в открывшемся диалоговом окне Export File выбрать папку для
сохранения модуля в виде файла с расширением .bas;
в поле Имя файла окна Export File можно ввести новое имя вместо
вставленного по умолчанию имени ModuleN, где N – 1, 2, 3…;
щелкнуть на кнопке Сохранить.
75
8.3 Импорт макроса
Чтобы осуществить импорт ранее экспортированного и сохраненного макроса, необходимо выполнить следующее:
открыть рабочую книгу, в проект которой требуется импортировать
модуль, содержащий интересующий нас макрос;
запустить редактор VBA;
щелкнуть правой кнопкой в окне проекта;
из контекстного меню выбрать пункт Import File;
в открывшемся диалоговом окне Import File раскрыть папку, в которой содержится файл искомого модуля, выделить файл и щелкнуть на кнопке Открыть.
В результате выполненных действий модуль с нужным макросом будет
вставлен в проект открытой книги.
8.4 Защита листа и ячеек в шаблонах автоматизированных документов
Создание документа, например на основе шаблона Excel, в котором установлены элементы управления, вставлены формулы и задано определенное форматирование в некоторых ячейках, требует защиты всего перечисленного от непреднамеренного разрушения или искажения. При установке защиты листа все элементы управления, размещенные на этом листе, уже нельзя будет сместить, удалить или изменить их свойства. Нужно иметь в виду, что по умолчанию все ячейки рабочего листа защищаются от изменений при установке защиты листа. Поэтому, если не снять защиту с определенных ячеек шаблона, то никакие изменения в ячейках шаблона невозможно будет произвести. Таким образом, прежде чем защищать лист рабочей книги, следует снять защиту с изменяемых ячеек шаблона.
8.4.1 Защита ячеек
При подготовке листа к защите, на котором размещены элементы управления, определены формулы в ячейках, нужно выполнить следующие действия:
выделить все ячейки, в которые требуется вставлять и удалять значения
вручную с помощью макроса или посредством связи с элементами управления;
выполнить команду Формат ячеек…;
в диалоговом окне Списки и представленном на рисунке 8.1 выбрать
вкладку Защита и снять флажок опции Защищаемая ячейка;
щелкнуть на кнопке ОК.
76
Рис 8.1. Диалоговое окно Списки
8.4.2 Защита листа
Чтобы защитить лист, произведем следующие действия:
установим курсор мыши на соответствующем листе (Лист1, Лист2 и т.д.) и вызовем контекстное меню;
выберем опцию Защитить лист…;
в открывшемся диалоговом окне Защита листа (рисунок 8.2)
установить флажки нужных параметров защиты и щелкнуть на кнопке ОК.
Для обеспечения возможности модифицировать значения незаблокирован­ных ячеек вручную требуется установить флажок опции Выделение незаблокиро­ванных ячеек.
В диалоговом окне Защита листа (рисунок 8.2) можно установить пароль. Для этого имеется поле Пароль для отключения защиты листа.
Рис. 8.2. Диалоговое окно Защита листа
77
8. 5 Задания для самопроверки
1. Реализуйте экспорт и импорт макросов из одной книги MS Excel в
другую книгу.
2. Установите защиту листа книги MS Excel, на котором выполнено зада-
ние 8 подраздела 7.6.
Заключение
В учебном пособии изложен материал, позволяющий автоматизировать процесс создания документов и получить практические навыки при работе в VBA – мощном средстве увеличения возможностей MS Office. Его использова­ние приводит к повышению производительности труда при создании офисных документов, т.е решает задачи автоматизации процесса создания офисных до­кументов. Как показывает многолетняя практика преподавания дисциплины Информационные технологии автором данного учебного пособия студентам Самарского технического университета и ряда других вузов, обучающиеся при создании офисных документов редко применяют инструментальную среду VBA для автоматизации разработки документов, что составляет примерно 10% от общего числа обучающихся. Это связано с тем, что большая часть средств MS Office остается невостребованной по причине того, что многие пользовате­ли не знают о наличии интегрированной среды VBA для разработки приложе­ний или не умеют ей пользоваться.
Вышесказанное послужило автору основанием для составления этого учебного пособия.
78
Глоссарий
Адрес ячейки – указание места расположения ячейки на рабочем листе.
Обычно задается именем столбца и номером строки.
Алфавит языка программирования – совокупность допустимых сим- волов языка.
Архитектура клиент-сервер – способ организации взаимодействия про­грамм или компонентов многокомпонентной программы. А именно, имеется программа или компонент программы, называемый сервером, и один или не­сколько других компонентов (или программ), называемых клиентами. Клиент имеет возможность асинхронно для сервера инициировать выполнение проце­дур сервера и получать результаты их выполнения.
Архитектура файл-сервер – способ организации взаимодействия про­грамм или компонентов многокомпонентной программы. А именно, компонен­ты программы взаимодействуют друг с другом, используя данные на файл­сервере, который доступен всем компонентам.
Верификация программы – Доказательство правильности программы.
Визуализация – представление информации в графической форме, пред-
назначенной для восприятия человеком.
Визуальный язык программирования – язык программирования, при использовании которого взаимодействие пользователя с системой программи­рования при составлении и отладке программ реализуется диалоговыми сред­ствами графического интерфейса пользователя.
Влияющие ячейки – ячейки рабочего листа, значения которых исполь- зуются формулой в данной ячейке.
Вложенный цикл – оператор цикла, который находится внутри тела дру- гого оператора цикла.
Внедрение – способ совместного использования объектов, при котором все данные копируются в документ-контейнер.
Встраивание – механизм порождения новых классов с использованием существующих.
79
Выражение – идентификатор или формула, возвращающие значения.
Главная форма – форма, которая включает другую форму.
Графический интерфейс пользователя – интерфейс пользователя, ос-
нованный на средствах машинной графики.
Данные – структурированная информация, представленная в символьной (цифровой) форме.
Диаграмма – графический образ, отражающий количественную зависи­мость данных. Например, гистограмма— упорядоченный набор столбиков, от­ражающих зависимость одной величины от другой.
Диалоговое окно – один из основных элементов организации интерфейса приложения.
Естественный язык – язык, появляющийся в результате усилий массы людей – носителей языка.
Зависимые ячейки – ячейки рабочего листа, формулы которых исполь- зуют значение данной ячейки.
Заголовок цикла – часть оператора цикла, управляющая выполнением цикла.
Запись – совокупность элементов данных в наборе данных.
Идентификатор – последовательность символов, первый символ которой
обязан быть буквой. См. имя.
Имя – лексема, служащая для обозначения объектов в программе. См. идентификатор.
Инкапсуляция – структурирование программы на модули особого вида, объединяющие данные и процедуры их обработки, причем внутренние данные мо­дуля могут быть обработаны только предусмотренными для этого процедурами.
Интерфейс пользователя – способ и средства взаимодействия пользова- теля с приложением.
Клавиши быстрого доступа – комбинация клавиш, при нажатии кото­рых элемент управления получает фокус.
80
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]