Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 Лекція VBA.doc
Скачиваний:
25
Добавлен:
04.02.2016
Размер:
876.03 Кб
Скачать

End Sub

Отже, в процедурі MsgBox є обов’язковим лише перший параметр, інші необов’язкові.

Процедура MsgBox зручна для виводу тієї чи іншої інформації. Однак, якщо необхідно дізнатись, який вибір зробив користувач при натисненні кнопок з діалогового вікна, то процедуру MsgBox треба використовувати як функцію. В цьому випадку значення, яке повертає MsgBox треба присвоїти якійсь змінній, а її параметри треба взяти в дужки. Отже, MsgBox може бути використана як функція і тоді вона повертає значення коду натиснутої кнопки.

З вищесказаного випливає, що результатом виконання функції MsgBox є коди натиснутих кнопок.

Таблиця кодів кнопок

Константа

Значення

Натиснута кнопка

VbOK

VbCancel

VbAbort

VbRetry

VbIgnore

VbYes

VbNo

1

2

3

4

5

6

7

ОК

Отмена (Cancel)

Прервать (Abort)

Повторить (Retry)

Пропустить (Ignore)

Да (Yes)

Нет (No)

Приклад. Записати у вікно повідомлень один з кодів натиснутих кнопок : Да, Нет, Отмена.

  1. Створимо вікно повідомлень, в якому будуть 3 кнопки: Да, Нет, Отмена і активною другою кнопкою

Public Sub MyFirstProgram()

MsgBox "", vbYesNoCancel + vbDefaultButton2

End Sub

  1. Використаємо MsgBox як функцію, яка повертатиме код натиснутої кнопки з діалогового вікна

Public Sub MyFirstProgram()

a = MsgBox("", vbYesNoCancel + vbDefaultButton2)

If a = 6 Then MsgBox "6"

If a = 7 Then MsgBox "7"

If a = 2 Then MsgBox "2"

End Sub

Приклад. Розглянемо наступну програму, яка записує на робочий лист Excel Лист1 в комірку (2, 2) текст “Hello Word”.

Public Sub MySecondProgram()

Worksheets("Лист1").Cells(2, 2) = "Hello Word"

End Sub

Приклад. Прочитати з листа Excel з комірки (3, 3) число і записати його в MsgBox.

Public Sub MyNextProgram()

a = Worksheets("Лист1").Cells(3, 3)

MsgBox Str(a)

End Sub

Примітка. Оскільки перший параметр в MsgBox має тип рядковий, щоб побачити число, яке записане на робочому листі в комірці (3, 3), необхідно перетворити його в рядок. Для цього використовуємо функцію Str, яка детально буде описана нижче.

Приклад. Прочитати з листа Excel з комірок (3, 3), (4, 3), (5, 3) числа і записати їх в MsgBox.

Public Sub MyNextProgram()

a = Worksheets("Лист1").Cells(3, 3)

b = Worksheets("Лист1").Cells(3, 4)

c = Worksheets("Лист1").Cells(3, 5)

MsgBox Str(a) + Chr(13) + Str(b) + Chr(13) + Str(c) + Chr(13)

End Sub

Примітка. Для того, щоб кожне число у вікні повідомлень MsgBox записувалось з нового рядка, було використано функцію Chr(13), яка діє аналогічно клавіші ENTER.

Str(Number) − Повертає значення типу Variant (String), тобто число перетворює в текст. Функція Str обов’язково виділяє позицію для знака, якщо число додатне – ставиться прогалина, якщо від’ємне – ставиться мінус.

Параметри процедури Sub пишуться без дужок, а процедури Function – у дужках.

Функція InputBox

Функція Inputbox виводить на екран діалогове вікно, що містить повідомлення і поле вводу, дві кнопки ОК і Cancel. Встановлює режим очікування вводу тексту користувачем і натиснення кнопки, а потім повертає значення типу String по натисненню кнопки ОК, яке містить текст, введений в поле вводу. Отже, Inputbox завжди повертає текст. Щоб зробити з нього число, необхідно скористатись функціями str() або cstr(), якщо необхідно вивести дату – cdata().

Синтаксис:

Inputbox(Prompt, Title, Default, xPos, yPos, Helpfile, Context)

Promp – рядок, який відображається як повідомлення в діалоговому вікні. Рядковий вираз Promp може містити декілька рядків. Для розділу рядків допускається використання символу повернення каретки Chr(13), символу переводу рядка Chr(10), або комбінації цих символів Chr(13) & Chr(10), де &- конкатенація (зчеплення) рядків. (Замість знаку & допускається використання знаку + ).

Title – рядок, який відображається в рядку заголовка діалогового вікна. Якщо цей параметр опущений, то в рядок заголовку поміщається ім’я додатку.

Default – рядок (підказка), який відображається в полі вводу. Він буде використаний за замовчуванням, якщо користувач не введе інший рядок. Якщо цей параметр опущений, то поле вводу відображається пустим.

xPos, yPos – координати вікна повідомлень на екрані.

Helpfile і Context – довідка.

Перші три парамерти є обов’язковими.

Приклад.

Public Sub MyNextProgram()

a = InputBox("Введіть значення", "Ольга", 10)

End Sub

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