
- •Оглавление
- •1. Цели и задачи лабораторного практикума
- •2. Программа и порядок выполнения лабораторных работ
- •3. Требования к оформлению отчета о выполнении лабораторной работы
- •4. Лабораторная работа №1 Разработка приложений на языке программирования Visual Basic for Application в программной среде ms Office
- •1. Структура редактора vba
- •Окно Project – vba Project (окно проекта)
- •Окно редактирования кода
- •Окно Properties
- •Окно редактирования форм
- •2. Создание пользовательской функции. Процедура Sub
- •Способы выполнения процедуры Sub
- •Работа с макрорекордером
- •3. Создание процедур обработки событий элементов управления, встроенных в рабочие листы Excel
- •4. Объектная модель программы ms excel
- •Четыре ключевых объекта
- •Объект Application
- •Объект Workbook и семейство Workbooks
- •Объект Worksheet и семейство Worksheets
- •Объект Range
- •5. Работа с базами данных на основе модели dao (Data Access Objects)
- •Открытие базы(источника данных)
- •Объект Recordset
- •Объект Field
- •Порядок работы при объектном доступе к данным (предполагается, что база данных существует):
- •5.Индивидуальные задания для выполнения лабораторной работы №1
- •Контрольные вопросы
- •6.Лабораторная работа №2 «Создание sql – запросов при использовании специального программного средства субд Microsoft Access»
- •1. Основные понятия реляционных баз данных
- •2. Связывание реляционных таблиц. Типы связей между реляционными таблицами.
- •Связь типа “один-к-одному” (1:1)
- •Связь типа “один-ко-многим” (1:м)
- •Связь типа “много-ко-многим” (м: м)
- •3.Создание базы данных в ms Access с помощью конструктора
- •4.Определение связи таблиц
- •5.Общие сведения об sql. Простейшие sql-запросы.
- •Контрольные упражнения
- •6.Функции агрегирования в sql- запросах
- •Контрольные упражнения
- •7.Использование вложенных запросов
- •7.Индивидуальные задания для выполнения лабораторной работы №2
- •Контрольные вопросы
- •8.Лабораторная работа №3 “Язык разметки гипертекста html ”
- •1.Общие сведения
- •2. Наиболее часто используемые теги и их описание
- •3.Технология css
- •8. Индивидуальные задания для выполнения лабораторной работы №3
- •Контрольные вопросы:
- •9.Лабораторная работа №4 «Создание интерактивных, динамически изменяемых страниц с использованием JavaScript»
- •1.Общие сведения
- •2.Операторы управления JavaScript
- •3.Размещение JavaScript на html-странице
- •4.События
- •5.Функции
- •10.Индивидуальные задания для выполнения лабораторной работы №4
- •Контрольные вопросы
- •Список литературы
- •Приложение. Образец формы титульного листа отчета о выполнении лабораторной работы
2. Создание пользовательской функции. Процедура Sub
Функция пользователя в VBA имеет следующий вид:
Function ИмяФункции (СписокПараметров)
Инструкции
End Function
где СписокПараметров – это список параметров, от которых зависит функция, Инструкции – это последовательность инструкций, выполняемых при нахождении значения функции. Среди инструкций должен присутствовать, по крайней мере, один оператор, который присваивает имени функции значение какого-либо выражения.
Процедура Sub имеет вид:
Sub ИмяПроцедуры (СписокПараметров)
Инструкции
End Sub
Кроме обычных процедур, в VBA имеются процедуры, обрабатывающие события, связанные с тем или иным объектом. Они имеют вид:
Sub ИмяОбъекта_ИмяСобытия (СписокПараметров)
Инструкции
End Sub.
Например, процедура обработки события активизации рабочего листа:
Sub Worksheet_Activate ()
Инструкции
End Sub
Способы выполнения процедуры Sub
Чтобы процедура Sub автоматически выполнялась всякий раз, когда возникает определенное событие, добавьте ее вызов к процедуре обработки этого события
Чтобы запустить процедуру Sub из редактора VBA, установить курсор мыши в любой участок процедуры и нажать клавишу F5
Если процедура Sub- макрос, выбрать ее имя в диалоговом окне Macros и нажать на кнопку “Run”
Чтобы вызвать Sub из другой процедуры, используйте имя этой процедуры.
Задание2.Создадим в стандартном модуле проекта код для создания функции F(x)=(cos2(x)+sin3(x))+x
Function F (x)
F=(cos(x)^2+sin(x)^3)+x
End Function
Введем в ячейку А1 рабочего листа Excel число и вызовем мастера функций программы Excel (Вставка – Функция). Далее выбираем категорию “ Определенные пользователем” и выбираем созданную функцию F. В появившимся окне дать ссылку на ячейку А1.
Работа с макрорекордером
Макрорекордер – это транслятор, создающий процедуру (макрос) на языке VBA, как результат перевода на VBA действий пользователя с момента запуска макрорекордера до окончания его работы. Обычно макросы используются для автоматизации работы.
Приведем пример работы с макрорекордером. Пусть у нас активизирован рабочий лист Лист1 и мы запишем макрос, который получается при активизации рабочего листа Лист2. Для активизации макрорекордера выберем команду Сервис, Макрос, Начать запись. Появиться диалоговое окно Запись макроса. Это окно позволяет задать параметры макроса. Поля Имя макроса и Описание используются для задания имени макроса и его описания. В нашем случае присвоим макросу имя АктивизироватьЛист. Поле СочетаниеКлавиш позволяет назначить макросу комбинацию клавиш, т.е. указать символ, который в комбинации с клавишей <Ctrl> позволит его выполнить. Введем в поле Описание Активизация рабочего листа Лист2, и нажмем кнопку ОК. Появиться плавающая панель инструментов с кнопкой Остановить запись. Теперь все производимые действия будут записываться до тех пор, пока не нажата эта кнопка или не выбрана команда Сервис, Макрос, Остановить запись. Далее щелчком на ярлыке рабочего листа Лист2 активизируйте его, и остановите запись макроса выбором команды Сервис, Макрос, Остановить запись.
Для просмотра только что записанной процедуры выберите команду Сервис, Макрос, Макросы, что приведет к отображению диалогового окна Макрос. В этом окне в списке выделите макрос и нажмите кнопку Изменить. На экране отобразится окно редактора VBA с активизированным стандартным модулем, в котором будет код только что записанного макроса:
Sub АктивизироватьЛист()
' АктивизироватьЛист Макрос
' Активизация рабочего листа Лист2
Sheets ("Лист2").Select
End Sub
Задание 3
Создайте с помощью программы-макрорекордера макросы, выполняющие автоматическое перелистывание рабочих листов. Каждому макросу назначьте комбинацию клавиш для автоматического выполнения.