|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Деякі методи класу UserForm vba мовиКлас UserForm - створення форми vba
Досить часто при створенні макросів може знадобитися надати їм якоїсь "динамічності". Як і рядові додатки, редактор VBA надає об'єкт UserForm, який відповідає за створення форми. За своєю природою, об'єкт vba UserForm представляє з себе пусте діалогове вікно, на поверхню якого можна додати різні елементи управління (кнопки, списки і так далі). На відміну від тих об'єктів, з якими ми працювали в сценаріях сервера Windows Script Host, об'єкти VBA крім властивостей і методом, мають ще й подіями, крім цього, об'єкти класу UserForm vba містять в собі модуль класу, який може зберігати власні методи і властивості, або код для обробки подій. Що б додати нову форму до vba проекту, скористайтеся меню Insert, пункт UserForm. Зверніть увагу: у вікні Проектів є папка Forms, в якій зберігаються всі форми, додані в проект, ім'я для форми призначається автоматично, наприклад, UserForm1, UserForm2,..., UserFormN. Якщо ви випадково закриєте вікно форми, то його можна знову запустити, вибравши потрібну форму у вікні Проектів. Деякі властивості класу UserForm vba мови Name - ця властивість містить ім'я форми, або, точніше сказати, ім'я об'єкта. Потрібно розуміти, що дане значення доступно тільки в тілі програми і ніяк не впливає на кінцевий результат. BackColor - містить колір фону. BorderColor - колір рамки BorderStyle - стиль рамки, приймає тільки два можливих значення. Caption - властивість визначає заголовок форми, фактично, це те т же заголовок вікна програми. За замовчуванням, дана властивість містить те ж значення, що і властивість Name. Enabled - приймає логічне True або False, і визначає, чи доступна форма. Якщо значення властивості рівно False, то жоден з елементів управління не доступний. ShowModal - як і попереднє властивість, ShowModal може приймати логічні значення. True - за замовчуванням, "модальний" режим, поки не буде закрита поточна форма, інша форма або повернення в документ будуть недоступні. Font - визначає шрифт. ForeColor - визначає колір переднього плану форми, наприклад, колір тексту. Деякі методи класу UserForm vba мови Hide - даний метод прибирає з видимості форму, роблячи її прихованою. Всі її параметри і елементи управління залишаються незмінними. Repaint - дозволяє перемалювати отображаемую форму. Show - метод протилежний методу Hide, він робить форму видимою, якщо вона ще не завантажена в пам'ять, то відбувається її завантаження. І так, що б не томити душу, давайте створимо просту форму, назвемо її "Перша програма" (властивість Caption), у мене ім'я форми UserForm1. Добре, тепер нам потрібно написати макрос, при запуску якого буде виводитися форма. Для цього додаємо в проект новий модуль і у вікні коду пишемо наступне: Sub Module1 () UserForm1.Show End Sub Тут Module1 - ім'я процедури, воно збігається з ім'ям модуля, воно зберігається у властивості Name. Sub... End Sub - це блок процедури. UserForm1.Show - тут ми викликаємо метод Show об'єкта UserForm1 для відображення форми, пам'ятайте, UserForm1 - ім'я моєї форми, його теж можна змінити. Все, тепер якщо запустити поточний макрос, то користувачеві просто виведеться порожня форма. Можете поекспериментувати з її властивостями. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |