Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информат ЛАБОРАТОРНАЯ РАБОТА.doc
Скачиваний:
3
Добавлен:
24.04.2019
Размер:
179.71 Кб
Скачать

ЛАБОРАТОРНАЯ РАБОТА № 15

Использование макросов в excel

Цель работы: ознакомиться с понятиями объекта и переменной в Visual Basic for Application, получить практические навыки по созданию макросов в Excel с использованием процедур и функций.

Цель работы

1. Изучите теоретические сведения.

2. Создайте макрос для изменения свойства ячейки (шрифт, цвет).

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

4. Создайте макрос для заданного преподавателем варианта.

5. Сохраните файл с созданными макросами.

5. Перепишите текст макросов в отчет.

6. Закройте Visual Basic и Microsoft Excel.

7. Ответьте на контрольные вопросы по указанию преподавателя.

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

1. Что входит в понятие объект?

2. Чем отличаются типы переменных?

3. Что означает тип переменной Variant?

4. Что входит в понятие функция?

5. Что входит в понятие процедура?

6. Чем отличаются процедуры от функций?

Ответы на контрольные вопросы

1. Объект ‑ это то, чем Вы управляете с помощью программы на языке Visual Basic, например кнопка, рабочий лист, рабочая книга, диаграмма, ячейка таблицы и т.д. Объект — это базовый элемент для построения любого приложения для Excel. Visual Basic for Application предлагает большой набор объектов, с помощью которых Вы можете быстро создать сложную программу.

Каждый объект обладает определенными свойствами. Например, диалог в данный момент на экране может быть видимым или невидимым. Вы можете узнать текущее состояние диалога с помощью свойства Visible (Видимый). Еще один пример свойства объекта ‑ это шрифт, используемый для отображения информации в ячейке рабочего листа. Изменяя свойства, Вы можете изменять характеристики объекта. Не все свойства могут быть установлены, некоторые носят информационный характер и могут только читаться. Синтаксис установки значения свойства объекта выглядит следующим образом:

Объект - Свойство - Выражение

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

Sub ChangeFont()

‘ Установка размера шрифта

Selection.Font.Size=16

‘ Установка полужирного шрифта

Selection.Font.Bold=true

End Sub

Строка, в начале которой стоит символ , не обрабатывается редактором. Это удобно использовать для комментариев и пояснений к создаваемым макросам.

Объект самого высокого уровня — это объект Application (Приложение). Если Вы изменяете свойства этого объекта или вызываете его методы, то результат применяется к текущей работе Excel. Например, Вы можете завершить работу с Excel с помощью метода Quit (Выход) объекта Application.

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

2. Переменные, типы. Все переменные в языке Visual Basic имеют тип. Тип указывает, что может хранить переменная: целое число, строку, дату и т.П.

Для объявления типа переменной необходимо написать:

Dim perem As Type

Вместо Dim можно использовать Public и Private. Переменная, объявленная с помощью Public, может использоваться макросами из других модулей и форм, а переменная, объявленная как Private или Dim, может быть использована только в том модуле, где была объявлена.

При составлении программы на языке Visual Basic for Application совсем не обязательно объявлять переменные до начала их использования в программе. Как только в программе встретится присвоение новой переменной, Visual Basic сразу создаст переменную, тип которой будет совместим с типом присваиваемого выражения.

3. Переменная Variant По умолчанию, если не указан тип переменной, то будет использоваться тип Variant (Вариант). Переменные этого типа могут хранить все, что в них поместят, т.е. их тип изменяется в зависимости от последнего присвоения.

Тип Variant (Вариант) очень удобен для использования, так как позволяет не задумываться над тем, какие именно данные будет содержать конкретная переменная. Однако указание конкретного типа для переменной позволит избежать ошибок, например таких, когда целой переменной пытаются присвоить значение даты.

4. Функция представляет собой программу, которая получает информацию из другой программы, преобразует эту информацию и возвращает определенное значение той же программе. Описание функции начинается с заголовка Function, за которым следуют имя функции и список параметров, заканчивается описание оператором End Function. Для передачи значения из функции в основную программу следует присвоить имени функции результат вычислений в теле самой функции.

Приведем пример использования функции для возведения числа в степень.

Sub Main()

Dim a As Integer

Dim c As Integer

Dim n As Integer

c = InputBox("Введите число:")

n = InputBox("Введите степень:")

‘ Переменной а присваивается значение функции stepen

a = stepen (c, n)

MsgBox a

End Sub

Function stepen (f As Integer, e As Integer) As Integer

stepen = f ^ e

End Function

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

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

7. Вызов процедур и функций. Начинается с заголовка Sub, за которым следуют имя процедуры и список параметров, а заканчивается оператором End Sub.

Приведем пример использования процедуры для возведения числа в степень.

Sub Main()

Dim a As Integer

Dim c As Integer

Dim n As Integer

c = InputBox("Введите число:")

n = InputBox("Введите степень:")

‘ Вызов процедуры stepen и передача переменных a, c, n

stepen a, c, n

MsgBox a

End Sub

Sub stepen (d As Integer, f As Integer, e As Integer)

d = f ^ e

End Sub

ЛАБОРАТОРНАЯ РАБОТА № 16