
- •1. Теоретичні питання 76
- •2. Тести 76
- •3. Практичні завдання 76
- •1. Теоретичні питання 90
- •2. Тести 90
- •3. Практичні завдання 90
- •1. Теоретичні питання 103
- •2. Тести 103
- •3. Практичні завдання 103
- •Алгоритми. Алгоритмічна мова
- •1. Алгоритм і його властивості
- •2. Поняття алгоритму
- •3. Схеми алгоритмів
- •4. Графічне зображення різних видів обчислювальних процесів
- •4.1. Графічне зображення лінійних обчислювальних процесів
- •4.2. Графічне зображення розгалужених обчислювальних процесів
- •4.3. Графічне зображення циклічних обчислювальних процесів
- •1. Створення і управління макросами
- •Запис макросу
- •Зміна макросу
- •Перегляд і зміна макросів
- •Управління макросами
- •Безпека макросів
- •2. Способи виконання макросу
- •Запуск макросу на виконання в Microsoft Excel
- •Запуск макросу на виконання з редактору Visual Basic
- •Основні елементи мови Visual Basic
- •1. Організація програми на мові vb для Excel
- •2.Створення і вживання процедур
- •4. Типи даних
- •5. Зона дії змінних і процедур
- •6. Масиви
- •7. Константи
- •8. Перетворення типів
- •12.Операції vb
- •13.Використання функцій vb
- •14.Строкові функції
- •15.Функції дати і часу
- •16.1.Методи об'єктів
- •16.2. Контейнери і набори об'єктів
- •17.Використання властивостей, що характеризують активність
- •18.Використання властивостей, що характеризують вміст
- •19. Властивості форматування
- •20.Методи роботи з таблицями
- •22. Створення і вживання функцій
- •23.1.Логічні вирази
- •23.2.Структура оператора if - then
- •24.Структура оператора Select Case
- •25. Неструктурований перехід
- •26.1.Циклічна структура for – next
- •26.2.Оператор for each - next (для кожного - наступного)
- •27. Логічні цикли
- •27.1.Вживання циклу do-loop
- •1. Вживання функції MsgBox()
- •1.1. Створення простого вікна повідомлення
- •1.2. Додавання командних кнопок у вікно повідомлення для створення діалогового вікна
- •1.3. Набуття значень від функції MsgBox()
- •2. Вживання функції InputBox()
- •3. Вживання діалогових вікон інших типів
- •4. Виклик діалогових вікон додатка
- •Р исунок 1. Нова, чиста сторінка діалогу Excel
- •29. Розташування об'єктів форми в бланк (вікно діалогу)
- •29.1.Об'єкт "Командна кнопка"
- •29.3.Об'єкт "Вікно редагування'
- •29.4.Об'єкт "Групове вікно"
- •29.5.Об'єкт "Контрольний індикатор"
- •29.6.Об'єкт "Кнопка вибору"
- •29.7.Об'єкт "Вікно списку"
- •29.8.Об'єкт "Випадаюче вікно"
- •29.9.Комбінований об'єкт "Вікно список-редагування"
- •29.10.Комбінований об'єкт "Вікно випадаючий список-редагування"
- •29.11.Об'єкт "Лінійка прокрутки"
- •29.12.Об'єкт "Спіннер"
- •30. Підключення процедур до об'єктів діалогового вікна користувача
- •31. Відображення діалогового вікна користувача
- •32.Файли послідовного доступу
- •32.1.Читання і запис послідовних файлів
- •32.2.Відкриття файлу
- •32.3.Закриття файлу
- •32.4. Запис у файл за допомогою оператора Print
- •32.5.Запис у файл оператором Write
- •32.6.Читання з файлу
- •33.Запис даних у файл довільного доступу
- •33.1.Читання і запис файлів довільного доступу
- •33.2.Відкриття файлу
- •33.3. Закриття файлу довільного доступу
- •33.4. Визначення структури та довжини запису
- •33.5.Запис даних у файл
- •33.6. З читування даних з файлу
3. Вживання діалогових вікон інших типів
У Visual Basic існують ще два типи вбудованих діалогових вікон: GetOpenFilename і GetSaveAsFilename. Ці вікна не відкривають файл і не зберігають його. Вони лише дозволяють вказати його ім'я і дорогу. Команди, що створюють такі діалогові вікна, є не операторами Visual Basic, а методами об'єкту Application.
Оператори, що створюють ці два типи діалогових вікон, мають наступний синтаксис:
theFilename = Application.GetOpenFilename(файловий_фільтр, індекс_фільтру, заголовок)
theFilename = Application.GetSaveAsfilename(початкове_ім'я_файлу, файловий_фільтр, індекс_фільтру, заголовок)
Обидва методи застосовуються до об'єкту Application і повертають ім'я файлу і шлях до їх розташування, вибрані користувачем. Діалогові вікна, аналогічні цим, відображуються, коли використовуються директиви любого додатку File/Open і File/Save As. У цих діалогових вікнах є командні кнопки Open або Save і Cancel. Якщо користувач натискуватиме командну кнопку Cancel, методи повернуть значення False.
Аргумент файловий_фільтр визначає, які файлові фільтри перераховуються у випадаючому списку File Type діалогового вікна. У списку файлів діалогового вікна з'являються лише ті файли, які збіглися з вибраним файловим фільтром (шаблоном файлу). Кожен елемент списку файлового фільтру складається з двох частин — тексту і фільтру (шаблону файлів). Текст відображується у випадаючому списку File Type, а фільтр використовується для вибору файлів із вибраної папки.
Як приклад розглянемо один елемент списку: Всі файли (*.*), *.*
Текст «Всі файли (*.*)» відображатиметься у випадаючому списку File Type, а *.* є дійсним фільтром, що дозволяє відображати усі файли поточної директорії.
Розглянемо інший приклад файлового фільтру:
файловий_фільтр = "Всі файли (*.*), *.*, Робочі книги Excel (*.xls), *.xls, Документи Word (*.doc), *.doc"
Цей фільтр відображує три елементи у випадаючому списку File Type: "Всі файли (*.*)", "Робочі книги Excel (*.XLS)" і "Документи Word (*.doc)".
Аргумент індекс_фільтру є цілим числом, що задає у випадаючому списку File Type файловий фільтр по умовчанню, який вказує на його номер в списку. Індекс фільтру за наданим вище файловим фільтром може набувати значення 1, 2 або 3, так як в випадаючому списку файлового фільтру три елемента списку.
Наприклад:
індекс_фільтру = 2, то по умовченю в вікні папки будуть відображатися файли за шаблоном - *.xls, що розташований другим у випадаючому списку
індекс_фільтру = 3, то по умовченю в вікні папки будуть відображатися файли за шаблоном - *.doc
індекс_фільтр у= 1, то по умовченю в вікні папки будуть відображатися усі файли за шаблоном - *.*
Аргумент заголовок аналогічний, що для функції InputBox().
Аргумент початкове_ім'я_файлу визначає початкове, задане за умовчанням ім'я файлу, яке розташовують у полі редагування тексту.
Наприклад, пригадайте, при збережені файлу у Excel пропонується ім’я по умовчанню Книга1, Книга2, …., а у Word пропонується ім’я по умовчанню Документ1, Документ2, … .
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
Sub TestDialog ()
Application.Dialogs(xlDialogFormatFont).Show
End Sub
Аби виконати цю процедуру, запишіть її на сторінці модуля, перемкнетеся на таблицю, виберіть клітину, вкажіть директиву Tools/Macro, виберіть процедуру TestDialog, потім натискуйте командну кнопку Run. В результаті виконання цієї процедури відображатиметься діалогове вікно, приведене на рисунку 8. Якщо ви забудете вибрати елемент таблиці перед запуском процедури, спроба відображення діалогового вікна приведе до помилки.
Рисунок 1. Діалогове вікно 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)
F_Name = Application.GetOpenFilename(F_Filter, 2, "File name")
If F_Name = False Then ‘ перевірка на виподок вибору кнопки ОТМЕНА
MsgBox "Вибрано кнопку ОТМЕНА !!!" ‘ вікно повідомлення (рис.10)
Else
‘ визначення константи Button у вікні функції MsgBox()
Code_Button = vbYesNo + vbDefaultButton2 + vbExclamation + vbAppliсationModal
Code = MsgBox("Зберегти знайдене ім'я файлу?", Code_Button) ‘ вікно запиту (рис.11)
Select Case Code ‘ перевірка на значення вибранної командної кнопки у вікні запиту
Case vbYes
'Блок для відповіді Да (Yes)
Range("C5").Value = F_Name ‘ запис вибраного імені файлу в клітину С5
Range("C5").Select ‘ вибір клітини С5
Application.Dialogs(xlDialogFormatFont).Show
‘ виклик вікна для форматування шрифту у вибраній клітині (рис.12)
Case vbNo
'Блок для відповіді Нет (No)
MsgBox "Вибрано файл з іменем " & F_Name
‘ надання вікна повідомлення з текстом назви виброного файлу (рис.13)
End Select
End If
End Sub
Результати роботи програми наведені на рисунках 9-13.
Рисунок 9.
Рисунок 10.
|
Рисунок 11. |
Рисунок 12.
Рисунок 13.
Контрольні завдання по темі
1. Теоретичні питання
2. Тести
3. Практичні завдання
Створення діалогових вікон користувача
Хорошим інтерфейсом є таблиця, проте для створення призначеного для користувача програмного інтерфейсу в Visual Basic є можливість створення та застосовувати діалогові вікна користувача.
28. Відкриття нової сторінки діалогу
Можливості діалогових вікон, які були розглянуті раніше, до певної міри обмежені. Застосовувалися діалогові вікна для обміну одиничними елементами даних між програмою і користувачем. Часто потрібно передати більш за один елемент даних, особливо в тих випадках, коли програма приймає інформацію від користувача.
Відомо що зручний, зрозумілий інтерфейс для любої задачі є одною зголовних вимог створення програми. Для вирішення проблем такого роду застосовуються сторінки діалогу, що дозволяють створювати діалогові вікна користувача, або Форми VBА. Сторінка діалогу повністю відрізняється від всіх інших сторінок Excel. Вона є середовищем, що дозволяє змалювати діалогове вікно, розмістити в ньому командні кнопки, текст і поля редагування.
Для створення діалогового вікна спочатку відкрийте сторінку діалогу, використовуючи директиву контекстного меню листа Excel Добавить/Окно_диалога або директиву Сервіс ( Макрос/ Редактор VB → Вставка → User Forms. На рис. 1 зображена нова сторінка діалогу Excel.