
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
Методические указания к контрольной работе
дисциплины В 2.03 - Прикладное программирование
для направления подготовки бакалавров 190600. 62 «Эксплуатация транспортно – технологических машин и комплексов»
факультета Машиностроения и автосервиса курс 1, форма обучения – заочная, семестр 2
кафедра-разработчик кафедра ВТиАСУ факультета КТАС
составитель старший преподаватель каф. ВТиАСУ Носова Ю. С.
Краснодар
2011
Составитель: старший преподаватель Носова Ю.С.
Прикладное программирование. Методические указания к контрольной работе для бакалавров 1 курса специальности 190600. 62 «Эксплуатация транспортно – технологических машин и комплексов» 2 семестр
Кубан. гос. технол. ун-т; Сост. Ю.С. Носова. Краснодар, 2011.
Цель контрольной работы подготовить студентов к изучению языка программирования Visual Basic for Application в таких приложениях Microsoft Office, как Word и Excel.
Предназначены для бакалавров 1-го курса КубГТУ, изучающих дисциплину «Прикладное программирование» во 2 семестре.
Рецензенты : зав. кафедрой ВТ и АСУ проф. В.И. Ключко
.
Введение.
Несмотря на то, что многие задачи Microsoft Office позволяет выполнить и без программирования, одним из наиболее важных и полезных его свойств является возможность автоматизации процессов взаимодействия пользователя и Microsoft Office, которая позволяет решать, практически, все современные бизнес - задачи: от создания простых документов и отчетов до полной автоматизации документооборота с использованием систем управления базами данных. Это обстоятельство связано с тем, что все приложения Microsoft Office поддерживают язык программирования Visual Basic for Application (VBA). Важнейшим достоинством VBA является возможность объединять любые приложения Microsoft Office для выполнения одной или нескольких задач.
Привлекательная особенность VBA в том, что он очень удобен для первого знакомства с программированием в среде Windows. В наиболее используемых приложениях Microsoft Office имеется редактор VB (Visual Basic Editor) и макрорекодер – средство кодирования действий пользователя для последующего их повторения. Эти инструменты, кроме всего прочего, могут с успехом использоваться для обучения программированию – без утомительного поиска информации по различного рода справочникам. Вы можете «записать » свои действия посредством макрорекодера, а затем рассмотреть результирующий код. Редактор VB – это не только средство редактирования кода, но и замечательное средство отладки кода и изучения языка Visual Basic, так как вы можете в интерактивном режиме проверить действие любой синтаксической конструкции.
Задание.
В ходе выполнения контрольной работы студенту необходимо будет ответить на один теоретический вопрос и выполнить два практических задания. Оформить все задания на листах формата А4 с титульным листом, представленным в приложении. В отчете по практическим заданиям представить тексты полученных макросов и, по-возможности, скриншоты результаты работы макросов.
Задание 1. Теоретический вопрос.
Запись макроса в Word.
Запись макроса в Excel.
Редактор Visual Basic. (запуск редактора, окна редактора VB).
Редактор Visual Basic. (меню редактора).
Редактор Visual Basic. (панели инструментов).
Типы данных в Visual Basic.
Переменные в Visual Basic.
Константы в Visual Basic.
Выражения в Visual Basic.
Математические функции Visual Basic.
Использование If…Then…Else.
Команды организации циклов в Visual Basic.
Использование массивов.
Управление файлами с помощью VBA.
Атрибуты файла.
Использование встроенных диалоговых окон Excel для получения имен файлов.
Использование встроенных диалоговых окон Word для получения имен файлов.
Работа с дисками и папками.
Копирование и удаление файлов.
Переименование и перемещение файлов.
Формы пользователя. Свойства объекта UserForm.
Формы пользователя. Методы объекта UserForm.
Формы пользователя. Элементы управления.
Формы пользователя. Использование Toolbox.
Работа с объектами Worksheets в Excel.
Методы, возвращающие объекты Range, в MS Excel.
Использование метода Cells в MS Excel.
Работа с объектами Document в MS Word.
Работа с объектами Template в MS Word.
Работа с объектами Selection и Range в MS Word.
Задание 2. Интегрированная среда VBA в Word.
1 Цель задания
Изучить настройки host-приложения, настройки среды VBA.
2 Порядок выполнения работы
Внимательно прочитать данное методическое пособие и выполнять все примеры и задания. . В отчет оформлять только задания.
3 Содержание отчета
наименование и цель работы;
результаты работы программы.
4 Краткая теория
4.1 Настройка host-приложения.
Для разрешения выполнения макросов в среде Office необходимо отключить контроль запуска макросов host-приложением следующей последовательностью команд:
Сервис→Макрос→Безопасность→Низкая.
Для отображения панели VBA в Word выполните:
Сервис→Настройка→Панель инструментов→Visual Basic.
Назначение кнопок панели VBA
«выполнить макрос» - для выбора макроса из шаблонов или открытых документов и его запуска;
«записать макрос» - для записи макроса с помощью ввода текста с клавиатуры в поле документа и использования команд меню Word;
«редактор Visual Basic» - для открытия или перехода в редактор VBA;
«элементы управления» - для обеспечения обмена информацией с пользователем, минуя документ Word;
«режим конструктора» - для конструирования интерфейса VBA – программы с пользователем с помощью форм и палитры элементов управления.
4.2 Настройка среды VBA
В состав среды VBA входят следующие элементы:
Окно навигатора проекта (Project Explorer) – отображает состав проекта (документы, шаблоны, формы, модули, модули классов) и позволяет добавлять и удалять элементы проекта: формы, модули, модули классов;
Окно исходного кода – предназначено для редактирования текста программы на VBA;
Окно свойств – отображает перечень свойств и позволяет редактировать значения свойств;
Окно отладки – предназначено для вывода отладочной информации с помощью редактора: debug.print Text;
Формы – диалоговые формы пользователя, содержащие интерфейсные элементы управления для VBA – программ, предполагающих специализированный обмен данными с пользователем;
Браузер объектов Office – предназначен для просмотра иерархии объектной модели Office.
Настройка панелей в среде VBA:
Добавьте панели Edit
Добавьте панели Standard
Добавьте обозреватели для Навигатора проекта, Окна свойств, Браузера объектов, Исходного кода.
Добавьте обозреватели для Списка свойств/методов, Списка констант, Контекстной подсказки, Принудительного завершения синтаксиса (вызов разрешенного синтаксиса).
Настройка редактора VBA
Произведите следующие действия в редакторе опций Tools→Options→Editor:
Снимите флажок с пункта «требовать объявления переменных»
Снимите флажок с автоматического контроля синтаксиса
Произведите следующие действия в окне свойств проекта Tools→Project Properties→Protection→Lock Project
Снимите флажок с блокировки проекта просмотра.
Возможности макрорекодера.
Особенности записи макроса:
именование макроса – в соответствии с соглашением об именовании переменных (русские имена допускаются);
локализация места хранения – документ;
назначение панелей и клавиш для быстрого вызова макроса (необязательно);
просмотр и редактирование кода в среде VBA.
Способы выполнения макроса:
запуск макроса из среды host – приложения;
запуск макроса из среды VBA;
выполнение в среде VBA в режиме отладки.
Пример 1.
Рассмотрим основной способ вывода текста в документ Word:
создайте новый документ и сохраните его под именем «тест.doc» или «проба.doc».
включите запись (запуск макрорекодера).
напишите какое-либо слово или предложение в созданном документе Word.
остановите запись и просмотрите макрос в редакторе VBA:
Sub Макрос1()
Selection.TypeText Text:=”Ваш текст”
End Sub
измените выводимый текст в редакторе VBA и запустите макрос из среды VBA.
просмотрите изменения, произошедшие в документе Word.
Пример 2.
Рассмотрим способ вывода информации не в документ Word, а в стандартное диалоговое окно. Данный способ можно осуществить только средствами VBA.
измените текст макроса следующим образом:
Sub Макрос1()
MsgBox (“Мое первое сообщение”)
debug.print “Мое первое сообщение”
End Sub
Краткие пояснения:
MsgBox (“Мое первое сообщение”)- это вызов стандартного диалога для сообщения;
debug.print “Мое первое сообщение” – этот оператор выводит текст в окно отладки, которое располагается ниже окна редактора VBA.
запустите макрос и убедитесь в правильности его работы.
обратитесь к справочной системе VBA для изучения особенностей работы стандартного диалога сообщений. Для этого, в редакторе VBA выделите имя функции MsgBox и нажмите F1. Появится окно справки, в котором можно ознакомиться с параметрами вызова этой функции.
Стандартный диалог сообщений имеет развитые средства взаимодействия с пользователем. Ее синтаксис следующий:
Response=MsgBox (prompt,buttons,title).
При запуске этой функции можно задать имя окна (title), само сообщение (prompt) и оформление окна (buttons), а также есть возможность определить какую кнопку нажал пользователь при закрытии этого окна (Response). Только параметр prompt является обязательным, остальные параметры - необязательные и их можно опускать. Оформление окна можно задавать следующими константами:
Константа |
Числовое значение |
Описание |
vbOKOnly |
0 |
Отображает только кнопку ОК |
vbOKCancel |
1 |
Отображает кнопки ОК и Cancel |
vbAbortRetryIgnore |
2 |
Отображает кнопки Abort, Retry и Ignore |
vbYesNoCancel |
3 |
Отображает кнопки Yes, No и Cancel |
vbYesNo |
4 |
Отображает кнопки Yes и No |
vbRetryCancel |
5 |
Отображает кнопки Retry и Cancel |
vbCritical |
16 |
Отображает значок Critical |
vbQuestion |
32 |
Отображает значок Warning |
vbExclamation |
48 |
Отображает значок Warning Message |
vbInformation |
64 |
Отображает значок Information Message |
Возвращаемый параметр Response в зависимости от нажатой пользователем клавиши может принимать следующие значения:
константа |
Числовое значение |
vbOk |
1 |
vbCancel |
2 |
vbAbort |
3 |
vbRetry |
4 |
vbIgnore |
5 |
vbYes |
6 |
vbNo |
7 |
Вышеописанный диалог полезно использовать для получения пользователя различных сведений, например о том, следует ли удалять файл с жесткого диска или удалять записи из базы данных, или подтверждение о сохранении файла под новым именем и т.д.
Пример 3.
Рассмотрим способ вызова диалога сообщений с использованием всех указанных параметров. При этом параметр Response выведем в окно отладки для просмотра его значения.
измените текст макроса из примера 2 следующим образом
Sub Макрос1()
Название_окна = «Мой первый диалог»
Сообщение = «мое первое сообщение»
Стиль_окна = vbOKCancel + vbInformation
Ответ = MsgBox(Сообщение, Стиль_окна, Название_окна)
Debug.Print Ответ
End Sub
запустите макрос и убедитесь в правильности работы диалога сообщений.
просмотрите окно отладки и убедитесь, что числовая константа соответствует нажатой клавише.
Задание 2.1. Меняя стиль окна в макросе из примера 3, исследуйте несколько возможных способов оформления окна сообщений, оснащая его различным набором кнопок и значков.
Задание 2.2. Измените макрос из примера 3 так, чтобы имя нажатой клавиши выводилось в другое диалоговое окно, вместо вывода числовой константы в окно отладки. Подсказка: для этого воспользуйтесь оператором условного перехода.
If Ответ = 1 Then Имя = “OK”
If Ответ = 2 Then Имя = “Cancel”
If Ответ = 3 Then Имя = “Abort”
If Ответ = 4 Then Имя = “Retry”
If Ответ = 5 Then Имя = “Ignore”
If Ответ = 6 Then Имя = “Yes”
If Ответ = 7 Then Имя = “No”
If Ответ < 1 And Ответ > 7 Then Имя=“Имя не определено”
Задание 2. 3. Измените макрос из задания 1 так, чтобы имя кнопки определялось не оператором условного перехода, а оператором множественного выбора.
Подсказка:
Select Case Ответ
Case 1: Имя = “Ok”
Case 2: Имя = “Cancel”
Case 3: Имя = “Abort”
Case 4: Имя = “Retry”
Case 5: Имя = “Ignore”
Case 6: Имя = “Yes”
Case 7: Имя = “No”
Case Else: Имя = “Имя не определено”
End Select
Пример 4. Рассмотрим, каким образом повторяющиеся действия, можно организовать в цикл. Для этого:
напишите несколько слов в документе Word.
включите запись
выделите слово (Ctrl+Shift+стрелка вправо), скопируйте его в буфер обмена и вставьте 5 раз подряд.
остановите запись и просмотрите текст макроса в редакторе VBA
Sub Макрос1()
Selection.MoveRight Unit:=wdWord, Count:=1,
Extend:=wdExtend
Selection.Copy
Selection.Paste
Selection.Paste
Selection.Paste
Selection.Paste
Selection.Paste
End Sub
Ваш макрос может несколько отличаться от вышеуказанного, если при записи вы совершили лишние действия. Преобразуйте данный макрос в цикл с заданным числом повторений в редакторе VBA следующим образом:
Sub Макрос1()
Dim counter As Integer
Selection.MoveRight Unit:=wdWord, Count:=1,
Extend:=wdExtend
Selection.Copy
For counter = 1 To 5 Step 1
Selection.Paste
Next
End Sub
Убедитесь в правильности его работы.
Пример 5. Назначение макросу комбинации клавиш для быстрого вызова:
нажмите кнопку «записать макрос»
введите имя «Макрос2»
сделайте макрос доступным для документа
выберите «назначение макроса клавишам»
назначьте сочетание клавиш, нажав на клавиатуре комбинацию, например: Ctrl+:
выберите сохранение изменений «в документе»
нажмите кнопку «назначить», а потом «закрыть»
в качестве действий макроса определите следующее:
Правка→Выделить все
Формат→Шрифт→Полужирный
9. остановите запись
10. верните начертание шрифта к прежнему виду
11. откройте редактор VBA
Sub Макрос2()
Selection.WholeStory
With Selection.Font
.Bold = True
.Italic = False
End With
End Sub
12. вернитесь в редактор Word, нажмите установленную вами комбинацию клавиш для быстрого запуска макроса и убедитесь в его правильной работе.
Пример 6. Назначение макросу кнопки на панели для быстрого вызова:
нажмите кнопку «записать макрос»
введите имя «Макрос2»
сделайте макрос доступным для документа
выберите «назначение макроса панели»
зацепите мышкой иконку команды из категории макросов и перетащите ее на панель Word
выберите сохранение изменений «в документе»
Все остальные действия выполняйте аналогично действиям из примера 5.
Для запуска макроса можно использовать выведенную Вами на панель инструментов кнопку.
Внимание! Для изменения иконки воспользуйтесь пунктом меню: Вид→Панели инструментов→Настройка. После чего щелкните правой кнопкой мыши на панели, чью иконку вы хотите изменить. В раскрывшемся меню воспользуйтесь пунктами:
Изменить значок
Выбрать значок
Стили: основной, только текст, значок и текст.
Пример 7. Назначение макросу кнопки на документе для быстрого вызова.
нажмите кнопку «режим конструктора» на панели VBA в среде Word.
установите курсор ввода в том месте документа, где бы вы хотели расположить кнопку.
щелкните по кнопке, нарисованной на панели элементов управления.
на месте курсора должна появиться кнопка под названием «CommandButton1». Местоположение и размеры данной кнопки можно менять путем перетаскивания ее мышкой в пределах документа.
для написания реакции на событие нажатия данной кнопки, двойным щелчком по ней войдите в редактор VBA.
в редакторе наберите команду Shell “Calc.exe”
в окне свойств кнопки откройте свойства по категориям и измените название кнопки в поле «Caption» вместо «CommandButton1» наберите «Калькулятор». Если калькулятор установлен в ОС, то он должен отобразиться поверх документа.