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

4. Виклик діалогових вікон додатку

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

Наприклад, якщо виконати дії, задані в діалоговому вікні Формат клітин (Format) обкладинка Число (Number), для деяких вибраних елементів таблиці, то ці дії будуть застосовані до цих клітин і не повернуть жодного значення програмі на Visual Basic.

Для виклику діалогового вікна додатка потрібно застосувати набір Dialogs - об'єкту Application:

Application.Dialogs(число-індекс).метод

Набір Dialogs отримує як аргумент число-індекс (константа), що вибирає діалогове вікно, для відображення. Всі індекси відповідають певним константам додатку, що іменують вибране діалогове вікно. Всі ці константи для Excel починаються з xlDialog, потім слідує ім'я діалогового вікна. Наприклад, константою для діалогового вікна Формат клітини обкладинка Число (Format → Number) є xlDialogFormatNumber. Для пошуку доступних діалогових вікон і констант скористайтеся Object Browser, вибравши об'єкт Constants бібліотеки додатку (потрібні константи для Excel починаються з xlDialog).

Приклад:

Наступна процедура відображає діалогове вікно Формат клітини обкладинка Шрифт (Format → Font):

' Перевірка діалогу

' Відображує діалогове вікно Format Font

Sub TestDialog ()

Application.Dialogs(xlDialogFormatFont).Show

End Sub

Аби виконати цю процедуру, запишіть її на сторінці модуля, перемкніться на таблицю, виберіть клітину, вкажіть директиву Tools/Macro, виберіть процедуру TestDialog, потім натискуйте командну кнопку Run або виберіть дерективу Run у VB. В результаті виконання цієї процедури відображатиметься діалогове вікно, приведене на рисунку 9.6. Якщо ви забудете вибрати елемент таблиці перед запуском процедури, спроба відображення діалогового вікна приведе до помилки.

Рисунок 9.6. Діалогове вікно Excel відображається за допомогою методу Show

Приклад:

Створіть програму, що дозволяє вибрати з папки вашої групи ім’я файлу, відобразити запит на збереження його в клітині С5 поточного аркуша, відформатувати шрифт змінюючи, начертання, колір, розмір шрифту (Підсумок по темі).

Sub FileName_Format()

опис змінної для отримання імені вибраного файлу

опис змінної для завдання файлового фільтру

Dim F_Name As String, F_Filter As String

опис змінної для завдання константи, що визначає аргумент Button для функції MsgBox()

опис змінної (константи), що отримує код вибраної кнопки у вікні функції MsgBox()

Dim Code_Button As Integer, Code As Integer

визначення списку файлового фільтру

F_Filter = "Всі файли (*.*), *.*, Робочі книги Excel (*.xls), *.xls, Документи Word (*.doc), *.doc"

отримання імені файлу з вибраної папки у вікні «File name» (рис.9.7)

F_Name = Application.GetOpenFilename(F_Filter, 2, "File name")

If F_Name = False Then ‘ перевірка на випадок вибору кнопки ВІДМІНА

MsgBox "Вибрано кнопку ОТМЕНА !!!" ‘ вікно повідомлення (рис.9.8)

Else

визначення константи Button у вікні функції MsgBox()

Code_Button = vbYesNo + vbDefaultButton2 + vbExclamation + vbAppliсationModal

Code = MsgBox("Зберегти знайдене ім'я файлу?", Code_Button)

вікно запиту (рис.9.9)

Select Case Code

перевірка на значення вибраної командної кнопки у вікні запиту

Case vbYes

' Блок для відповіді Так (Yes)

Range("C5").Value = F_Name

запис вибраного імені файлу в клітину С5

Range("C5").Select ‘ вибір клітини С5

Application.Dialogs(xlDialogFormatFont).Show

виклик вікна для форматування шрифту у вибраній клітині

(рис.9.10)

Case vbNo

' Блок для відповіді Ні (No)

MsgBox "Вибрано файл з іменем " & F_Name

надання вікна повідомлення з текстом назви вибраного файлу

(рис.9.11)

End Select

End If

End Sub

Результати роботи програми наведені на рисунках 9.7 - 9.11.

Рисунок 9.7. Вікно «File name» для отримання імені файлу з вибраної папки LLL

Рисунок 9.8. Вікно повідомлення

Рисунок 9.9. Вікно запиту

Рисунок 9.10. Вікно для форматування шрифту у вибраній клітині

Рисунок 9.11. Вікно повідомлення з текстом назви вибраного файлу

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