Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

По теме лабораторной работы. Для входа в среду VBA Excel можно воспользоваться одним из следующих способов:



Для входа в среду VBA Excel можно воспользоваться одним из следующих способов:

1. выполнить команду Tool (Сервис) / Macro (Макрос) / Visual Basic Editor (Редактор Visual Basic);

2. воспользоваться комбинацией клавиш +;

3. нажать кнопку Visual Basic Editor (Редактор Visual Basic) панели инструментов Visual Basic.

Возвратиться из редактора VBA в рабочую книгу Excel можно с помощью команды Viev (Вид) / Microsoft Excel (Microsoft Excel), комбинации клавиш + или нажатием соответствующей кнопки панели инструментов Стандарт. Структурным элементом программы, написанной на языке VBA, является модуль – совокупность объявлений и процедур, объединенных в единое целое. По своему предназначению модули делятся на два типа: стандартные модули и модули объектов. К стандартным модулям относятся те, которые содержат макросы. К модулям объектов относятся модули, связанные с рабочей книгой, рабочими листами, формами и модули класса. Мы будем использовать только стандартные модули. Чтобы осуществить вставку модуля необходимо находясь в среде VBA выполнить команду Insert (Вcтавить) / Module (Модуль).

Окно редактирования кода служит в качестве редактора для ввода и изменения кода внутри модуля. Каждый модуль состоит из области описания и одной или нескольких процедур. Процедура представляет собой последовательность операторов, которые часто называют программными кодами. Входящие в модуль процедуры объединены общей областью описания. В ней описываются данные и объекты, которые являются общепринятыми для процедур модуля. Иерархия указанных объектов такова:

· модуль;

· область описания;

· процедура;

· код;

· оператор.

При создании и редактировании кода удобно пользоваться командой Insert (Вcтавить)/Procedure (Процедуру). В появившемся окне необходимо выбрать функцию или подпрограмму и задать ее имя. После этого будут автоматически сформированы операторы начала и конца процедуры и можно переходить непосредственно к набору операторов процедуры. Для набора следующей процедуры в том же модуле необходимо повторить команду Insert(Вcтавить)/Procedure (Процедуру). Если нужно создать новый модуль повторяется команда Insert (Вcтавить) / Module (Модуль).

Структура программного кода

На данном этапе будем создавать программы в рамках следующей синтаксической конструкции:

[Option Explicit]

[Private | Public] [Static] Sub <Имя> ([<Список аргументов>])

[Dim <Имя> [As <Тип>]]

[Const <Имя> [As <Тип>] = <Выражение>]

[Инструкции]

[Exit Sub]

[Инструкции]

End Sub

В этой записи:

Option Explicit – инструкция, предписывающая явное описание всех переменных, встречающихся в программе;

Public – ключевое слово, которое указывает, что процедура доступна для всех других процедур во всех модулях;

Private – ключевое слово, указывающее, что процедура доступна для других процедур только того модуля, в котором она описана;

Static – ключевое слово, указывающее, что локальные переменные процедуры сохраняются в промежутках времени между вызовами этой процедуры;

<Имя> – имя процедуры, удовлетворяющее стандартным правилам именования;

<Список аргументов> – список переменных, представляющий аргументы, которые передаются в процедуру при ее вызове. Имена переменных разделяются запятой.

Dim <Имя> [As <Тип>] –блок описания переменных;

Const <Имя> [As <Тип>] = <Выражение> –блок описания констант;

Инструкции – любой набор любых команд VBA;

Exit Sub – инструкция, выполнение которой приводит к немедленному выходу из процедуры;

Sub, End Sub –служебные слова VBA.

В программном коде на VBA ввод и вывод организуется с помощью встроенных диалоговых окон: окон ввода и окон сообщений. Окно сообщений (процедура MsgBox) выводит простейшие сообщения для пользователя, а окно ввода (Функция InputBox) обеспечивает ввод информации.

Функция InputBoxвыводит на экран диалоговое окно, содержащее сообщение и поле ввода, устанавливает режим ожидания ввода текста пользователем или нажатия кнопки. Затем возвращает значение типа String, содержащее текст, введенный в поле.

Синтаксис:

InputBox (promt, [, title] [, default] [, xpos] [, ypos] [, helpfile, context])

Аргументы:

prompt – строковое выражение, отображаемое как сообщение в диалоговом окне;

title – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку помещается имя приложения;

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

xpos – числовое выражение, задающее расстояние по горизонтали между левой границей диалогового окна и левым краем экрана. Если этот аргумент опущен, диалоговое окно выравнивается по центру экрана по горизонтали;

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

helpfile – строковое выражение, определяющее имя файла справки, содержащего справочные сведения о данном диалоговом окне. Если этот аргумент указан, необходимо также наличие аргумента context;

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

Процедура MsgBoxвыводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия кнопки пользователем. Затем возвращает значение типа Integer, указывающее, какая кнопка была нажата.

Синтаксис:

MsgBox (prompt, [, button][, title] [, helpfile, context])

Аргументы:

prompt – строковое выражение, отображаемое как сообщение в диалоговом окне;

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

title – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку помещается имя приложения;

helpfile – строковое выражение, определяющее имя файла справки, содержащего справочные сведения о данном диалоговом окне. Если этот аргумент указан, необходимо также наличие аргумента context;

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

Пример: Приведем пример использования встроенных диалоговых окон.

Sub Тест()

Dim msg As String, style As Integer, title As String, x

Dim default

msg = “Мои первые шаги в VB!”

title = “Cообщение с одной кнопкой”

MsgBox msg,, title

title = “Cообщение с двумя кнопками”

style = vbYesNo

MsgBox msg, style, title

title = “Cообщение с двумя кнопками и значком”

style = vbYesNo + vbCritical

MsgBox msg, style, title

msg = “Введите число, кратное 16, не больше 64!”

title = ”Формируем окно для ввода информации ”

default = 16

x = InputBox (msg, title, default)

msg = “ Мои первые шаги в VB!”

title = “ Мое сообщение”

style = vbYesNo + x

MsgBox msg, style, title

End Sub

В результате выполнения приведенной ниже программы на экране последовательно будут появляться окна. В таблице отражены окна, соответствующие определенным участкам кода. Отметим, что значок, который будет изображен в последнем окне, определяется значением переменной x, вводимым с клавиатуры при появлении окна “Формируем окно для ввода информации”. В нашем случае было введено значение, равное 48.

Таблица 1 – Результат выполнения кода, представленный поэтапно.

Приведенная программа может быть переписана следующим образом:

Sub Тест1()

Dim x as Byte

MsgBox “Мои первые шаги в VB!”,, “Cообщение с одной кнопкой”

MsgBox “Мои первые шаги в VB!”, vbYesNo, “Cообщение с двумя кнопками”

MsgBox “Мои первые шаги в VB!”, vbYesNo + vbCritical, “Cообщение с двумя кнопками и значком”

x = InputBox (“Введите число, кратное 16, не больше 64!”, ”Формируем окно для ввода информации ”, 16)

MsgBox “ Мои первые шаги в VB!”, vbYesNo + x, “ Мое сообщение”

End Sub

Задания для лабораторной работы:

1.Организуйте ввод с клавиатуры двух чисел.

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

Требуется найти сумму, произведение, частное и остаток от деления первого числа на второе. Результаты операций вывести на экран. Все окна сообщений должны иметь различное количество кнопок и разные значки.

2. Напишите программу, осуществляющую простейший диалог с пользователем.

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

Контрольные вопросы:

1. Какими способами можно запустить редактор Visual Basic из среды Microsoft Office?

2. Каким способом производится вставка модулей и процедур, а так же отладка, компилирование и запуск?

3. Как выглядит структура программного кода. Объясните за что отвечают её элементы?

4. Функция InputBox. Её структура и за что отвечают её аргументы.

5. Функция MsgBox. Её структура и за что отвечают её аргументы.





Дата публикования: 2015-11-01; Прочитано: 1372 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.011 с)...