Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IMK_informatika.doc
Скачиваний:
48
Добавлен:
01.05.2015
Размер:
4.69 Mб
Скачать

Программирование на Visual Basic for Applications в ms Excel

Занятие 15 (Создание функций пользователя на языке VBA)

ЗАДАЧА: Расчет стоимости с прогрессивной шкалой.

Для привлечения покупателей в издательстве введена прогрессивная шкала цен. Если продается от 100 до 200 экземпляров книги, то скидка от ее отпускной цены составляет 7%, если продается от 201 до 300 экземпляров, то скидка составляет 10%, а если свыше 300 экземпляров — 15%. Кроме того, для постоянных клиентов предусмотрена дополнительная скидка в размере 5%.

Создадим функцию пользователя с именемСтоимостьдля расчета стоимости партии книг. Аргументы этой функции назовем Цена, Кол и Скидка. Для аргументаСкидкапредусмотрим только два допустимых значения: 1 для постоянных клиентов и 0 в противном случае. Действия алгоритма вычисления Стоимости можно описать с помощью блок-схемы:

Теперь опишите пользовательскую функцию Стоимостьв редактореVBAследующим образом:

  1. Откройте окно редактора языка VisualBasic(ПанельРазраработчик).

  2. Выполните команду Вставка, Модуль (Insert, Module) для создания листа модуля.

  3. Наберите на листе модуля приведенную ниже процедуру на языке Basic.

 Примечание.    Если вкладка Разработчик недоступна, для ее отображения выполните следующие действия:

  • Щелкните значок Кнопка Microsoft Office , а затем щелкнитеПараметры Excel.

  • В категории Основные в разделе Основные параметры работы с Excel установите флажок Показывать вкладку "Разработчик" на ленте, а затем нажмите кнопкуОК.

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

  • На вкладке Разработчик в группе Код щелкните Безопасность макросов.

  • В разделе Параметры макросов выберите параметр Включить все макросы (не рекомендуется, возможен запуск опасной программы), а затем нажмите кнопку ОК.

!!! Для защиты от запуска потенциально опасных программ после окончания работы с макросами рекомендуется вернуть настройки, отключающие все макросы.

Function Стоимость(Цена, Кол, Скидка)

' Вычисление стоимости без учета скидки для постоянных клиентов '

If Кол < 100 Then

Стоимость = Цена * Кол

ElseIf Кол <= 200 Then

Стоимость = Цена * Кол * 0.93

ElseIf Кол <= 300 Then

Стоимость = Цена * Кол * 0.9

Else

Стоимость = Цена * Кол * 0.85

End If

' Вычисление стоимости для постоянных клиентов '

If Скидка = 1 Then Стоимость = Стоимость * 0.95

End Function

  1. Отладьте функцию (Debug > Compile VBAProject). Т.е. исправьте все ошибки, о которых сообщил компилятор (Compile error). Если синтаксических ошибок нет, вернитесь в таблицу.

  2. Теперь функцию стоимость можно использовать так же, как и стандартные функции Excel. Она включена в категорию функций «Определенные пользователем» мастера функций.

  3. Задайте таблицу и посчитайте Стоимостьдля различных значенийЦены, Количества, Скидка.

Цена

Количество

Скидка

Стоимость

Код книги 234-98

Занятие 16 (Элементы управления)

Элементы управления представляют собой графические объекты, предназначенные для отображения или ввода данных, выполнения действий или облегчения чтения формы. Данные объекты включают надписи, поля со списками, переключатели и флажки, кнопки и многое другое. Элементы управления позволяют пользователю запускать макросы или веб-сценарии путем нажатия, установки или выбора соответствующих элементов управления.

Элемент управления

Кнопка

Назначение

Label

(надпись)

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

TextBox

(текстовое поле)

Окно редактируемого текста свободной формы для ввода данных. Может быть одно- и многострочным

ComboBox

(поле со списком)

Объединяет окно редактирования и окно списка

ListBox

(список)

Отображает список значений, из которых пользователь может сделать выбор

CheckBox

(флажок)

Стандартный флажок, который используется для выбора вариантов, не являющихся взаимоисключающими

OptionButton (переключатель)

Стандартная кнопка-переключатель. Используется, когда пользователю необходимо сделать выбор между "включено/выключено"

ToggleButton (выключатель)

Выключатели служат для той же цели, что и флажки, но выводят установки в виде кнопки, находящейся в "нажатом" или "отжатом" состоянии

Frame

(рамка)

Визуально и логически объединяет некоторые элементы управления (особенно флажки, переключатели и выключатели)

CommandButton (кнопка)

Используется для выполнения таких действий, как Cancel (Отмена), Save (Сохранить), Ok и т.д. Когда пользователь щелкает по кнопке, выполняется VBA-процедура, закрепленная за данным элементом управления

TabStrip

(набор вкладок)

Состоит из области, в которую следует помещать другие элементы управления (такие, как текстовые поля, флажки и т.д.)

MultiPage

(набор страниц)

Состоит из нескольких страниц. Можно выбрать любую из них, щелкнув по соответствующей вкладке

ScrollBar

(полоса прокрутки)

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

SpinButton (счетчик)

Специальная разновидность текстового поля. Используется для ввода последовательных величин, которые заведомо находятся в определенном интервале значений (число, дата и т.п.)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]