
- •Доступ до об'єктів Excel з vb
- •1.1.Методи об'єктів
- •1.2. Контейнери і набори об'єктів
- •2. Використання властивостей, що характеризують активність
- •3.Використання властивостей, що характеризують вміст
- •4. Властивості форматування
- •5. Методи роботи з таблицями
- •Контрольні завдання по темі
- •1. Теоретичні питання
- •2. Тести
- •3. Практичні завдання
- •Вживання процедур і функцій
- •6.Передача величин процедурі
- •7. Створення і вживання функцій
- •Контрольні завдання по темі
- •1. Теоретичні питання
- •2. Тести
- •При застосуванні службового слова РаrаmArrау у списку аргументів функції/процедури перед ім'ям деякого аргументу, яка дія повинна застосовуватися для цього аргументу?
- •3. Практичні завдання
- •Оператори управління
- •1. Оператор if
- •If логічний_вираз then оператор,
- •1.1. Логічні вирази
- •1.2. Структура оператора if - then
- •2.Структура оператора Select Case
- •3. Неструктурований перехід
- •Контрольні завдання по темі
- •1. Теоретичні питання
- •2. Тести
- •3. Практичні завдання
- •Цикли і структури, що повторюються
- •1. Вживання обчислюваних циклів
- •1.1. Циклічна структура for – next
- •1.2. Цикл for each – next
- •2. Логічні цикли
- •2.1. Вживання циклу do - loop
- •2.2. Вживання циклів while - wend
- •Контрольні завдання по темі
- •1. Теоретичні питання
- •2. Тести
- •3. Практичні завдання
- •Вбудовані діалогові вікна
- •1. Вживання функції MsgBox()
- •1.1. Створення простого вікна повідомлення
- •1.2. Додавання командних кнопок у вікно повідомлення для створення діалогового вікна
- •1.3. Набуття значень від функції MsgBox()
- •2. Вживання функції InputBox()
- •3. Вживання діалогових вікон інших типів
- •4. Виклик діалогових вікон додатку
- •Контрольні завдання по темі
- •1. Теоретичні питання
- •2. Тести
- •3. Практичні завдання
- •Література
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. Вікно повідомлення з текстом назви вибраного файлу