Програма текстовий редактор MS Word. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Програма текстовий редактор MS Word.



Програма текстовий редактор MS Word.

Загальні відомості про текстовий редактор Ms Word

Текстовий редактор WORD є одним з найпоширеніших текстових редакторів. Можливості редактора:

· Дозволяє обробляти різні типи

· Дозволяє вставляти в тексти малюнки, не стандартні символи.

· Дозволяє працювати з таблицями.

· Друкувати документи.

· Дозволяє працювати з об’єктами, кадрами, фрагментами, стовпчиками і т. ін.

Завантаження WORD. Існує декілька способів:

1. Клацнувши кнопку “W” на піктографічному меню.

2. Клацнувши на ярлику “WORD” на робочому столі, якщо є.

3. Виконати команду Пуск – Программы – Microsoft WORD.

4. Використовуючи Пуск – Выполнить – шлях до завантаження файла.

5. Відкрити вікно “Мои документы” вибрати файл із значком “W” (будь-який документ) і цьому випадку виконується не тільки завантаження редактора а й документа, який вибрали.

Після команд завантаження на екрані відкривається робоча сторінка редактора WORD, яка складається з елементів: рядок заголовку, рядок меню (Файл, Правка, Вид Формат, Окно, Сервис, Таблица,?), рядок панелі інструментів (піктографічне меню), лінійка координат, лінійка прокрутки робоча частина, рядок статусу

 

 

Програма електронні таблиці MS Excel.

ОСНОВНІ ВІДОМОСТІ ПРО БАЗОВІ ПРИЙОМИ РОБОТИ В ЕТП MS EXCEL

MS EXCEL – це сучасна прикладна програма типу табличний процесор, яка входить до складу офісного пакету програм Microsoft Office і використовується для організації розрахунків та аналізу ділових даних. Програма уявляє собою діалогове середовище, яке дозволяє:

· працювати з таблицями, що складаються з множини комірок;

· створювати діаграми і графіки;

· працювати з інформацією в режимі баз даних.

Табличний процесор створює файли робочих книг з поширенням назв .XLS. В одному файлі робочої книги MS Excel може зберігатися стільки аркушів, скільки вміщується в оперативній пам’яті персонального компьютера. Ці аркуші сформовані у вигляді блокноту і бувають наступних поширених типів:

· робочі таблиці;

· діаграми;

· тощо.

Вікно модуля

 

Вікно програми - це найбільше вікно в редакторі Visual Basic; над ним містяться два розкривні списки. Список ліворуч, Об'єкт, служить для вибору об'єкта, з якими ви бажаєте працювати. Якщо ви працюєте лише з текстом програми, у списку вибрано пункт Загальна область. Другий розкривний список, Процедура, використовується для вибору окремих макросів у поточному модулі. Макроси, які додаються до модуля або видаляються з нього, одночасно додаються або видаляються й зі списку «Процедура».

 

 

Також текстом програми можна переміщатися за допомогою клавіш СТРІЛКА ВГОРУ та СТРІЛКА ВНИЗ, щоб досягти потрібного макросу. В міру переміщення у списку «Процедура» відображається ім'я поточного макросу.

 

Структура програми на VBA

У Visual Basic будь-який проект складається з наступних файлів:
файл кожної форми (розширення frm). Це звичайний ASCII текстовий файл, в якому записаний важ код, поміщений у форму, а також властивості всіх поміщених на форму елементів
управління і самої форми теж.

файл кожної форми, що містить бінарну інформацію (наприклад картинку в PictureBox) (розширення frx) файл проекту, що містить інформацію про проект (розширення vbp)
інформація про робочу область проекту (workspace) (розширення vbw)

Це необхідний мінімум. (Хоча, бувають і виключення, наприклад, коли в проекті не використовуються форми. Тоді замість frm файлу, буде bas файл.)

Далі перерахуємо додаткові файли, які можуть бути підключені до проекту:

1) файл кожного модуля (розширення bas) Це текстовий файл.

2) файл кожного модуля класів (розширення cls).Це текстовий файл.

3) файл кожного додаткового елементу управління (розширення ctl) Це теж текстовий файл.

4) файл ресурсів (розширення res)

5) інші файли (ocx, tlb, і т.д...)


Запам'ятовувати призначення всіх цих файлів не обов'язково, досить запам'ятати 2 файли: frm-файл, в якому зберігаються код форми і властивості всіх поміщених на дану форму елементів управління. І bas-файл - модуль. У нім можуть бути оголошені глобальні змінні, константи, функції і т.д. Коротше, тільки код. Без елементів управління.

 

VBA. Типи змінних

Змінні.

У Visual Basic перемениє зберігають інформацію (значення). При їх використанні Visual Basic резервує область в пам'яті комп'ютера для зберігання даної інформації. Кожна змінна має своє ім'я. Воно може досягати 255 символів в довжину, починається завжди з букви латинського алфавіту, за якою можуть слідувати інші букви, цифри і знак підкреслення. Регістр символів значення не має. Приведемо декілька прикладів імен змінних:

 

numOfLetters - підходить

2Bottle - невірно, оскільки починається не з букви

ThisIsVeryLongName - підходить, довжина 18 символів

sng.Cos - не підходить, оскільки використовується крапка

 

Іменування змінних і функцій дуже важлива штука. Я рекомендую дотримуватися угорської угоди:

 

VBA дозвбляє описувати і використовувати змінні різних типів. Наприклад, основні типи даних byte, boolean, integer, long, single, double, currency, decimal, date, string, object, variant. Для описання змінних частіше всього використовується інструкція Dim, яка має такий синтаксис: Dim ім 'яЗмінноХ [([індекси])] [As тип].

Параметр їм 'я Змінної — ім'я змінної. Необов'язкові скобки і параметр індекси використовуються і для описання масивів; Додатковий параметр As тип дозволяє призначити змінній потрібіний тип даних і Якщо тип не призначений, то змінна за умовчанням буде мати тип Variant. Змінні цього типу можуть містити дані будь-якого типу, за винятком рядкових.

В багатьох випадках є можливість перетворювати один тип дантсгв інший та об'єднювати дані
різних типів, наприклад: Private Sub MyjigeQ

DimBYear As Integer

DimMessage As Variant Dim Age As Integer

YearNow = ІпрШВох("Введіть поточний рік") Message = "Поточний

рік " & YearNow

При роботі з числовими змінними, можна застосовувати стандартні арифметичні операції: «+» — додавання, «-» ■— віднімання, «*» — множення, «/» — ділення, «%» — відсоток від числа, «» — піднесення до степеня. Крім того, існує множина вбудованих, функцій для роботи з різними типами даних.

Общие процедуры

Общая процедура указывает приложению, как выполнять конкретную задачу. Однажды определенная, она должна каждый раз специально вызываться приложением. В противоположность ей процедура обработки события после вызова остается в состоянии ожидания событий, вызванных пользователем или инициированных системой.

Зачем надо создавать общие процедуры? Одна причина заключается в том, что нескольким разным процедурам обработки событий может потребоваться выполнить одни и те же действия. Общие операторы помещают в отдельную процедуру (общую процедуру), а в процедуры обработки событий помещают вызовы этой процедуры. Это исключает дублирование кода и облегчает поддержку приложения.

Создание новых процедур

Для создания новой общей процедуры следует в окне кода набрать на клавиатуре заголовок процедуры и нажать клавишу Enter. Заголовок процедуры состоит из слова Sub или Function, за которым следует имя процедуры. Например:

Sub UpdateForm () Function GetCoord ()В результате VBA заполняет шаблон для новой процедуры, т.е. дописывает строку End Sub или End Function, например:Sub UpdateForm()...End Sub.

Вызов процедур Sub

Процедура Sub отличается от процедуры Function тем, что ее нельзя вызвать по имени в выражении. Ее вызов осуществляется в отдельном операторе. Также процедура sub, в отличие от функции, не возвращает значения. Однако, как и функция, она может изменять значения любых переменных, переданных ей в качестве параметров.

Существуют два способа вызова процедуры sub - при помощи ключевого слова Call и без него:

' Оба эти оператора вызывают процедуру Sub с именем МуРгос.

Call МуРгос (FirstArgument, SecondArgument)

МуРгос FirstArgument, SecondArgument

Заметим, что при наличии ключевого слова Call, параметры заключены в круглые скобки. Если ключевое слово Call опускается, следует опустить и скобки вокруг списка параметров.

Вызов процедур из других модулей

Процедуры, находящиеся в других модулях, могут быть вызваны из любого места проекта. Возможно, придется указать модуль, в котором содержится вызываемая процедура. Способы вызова открытых процедур разнообразны и зависят от того, где расположена процедура - в модуле формы, модуле класса или стандартном модуле.

Процедуры в формах

Для вызова процедуры, находящейся во внешнем модуле, т.е. в не в том модуле, в котором находится код, из которого производится вызов процедуры, перед именем процедуры должно быть указано имя модуля, в котором находится код процедуры. К примеру, если код процедуры с именем SomeSub находится в модуле формы, названном Form1, то вызвать процедуру можно следующим оператором:

Call Form1.SomeSub(<аргументы>)

Логические операции

Пример Имя Результат
$a and $b And TRUE, если и $a, и $b TRUE.
$a or $b Or TRUE, если $a или $b TRUE.
$a xor $b Xor TRUE, если $a или $b TRUE, но не оба.
! $a Not TRUE, если $a не TRUE.
$a && $b And TRUE, если и $a, и $b TRUE.
$a || $b Or TRUE, если $a или $b TRUE.

 

Смысл двух вариантов "and" и "or" в том, что они работают с различными приоритетами.

 

 

100-101. VBA. Цикл Do-Loop. Варіанти синтаксису. VBA. Цикл For-Next.

Цикл - это алгоритмическая структура, при помощи которой реализуется многократное повторение блоков операторов.

В языке Visual Basic существует три основных вида циклов, которые реализуется при помощи конструкций For:Next, Do:Loop и While:Wend.

Цикл For:Next. Используется в том случае, когда количество повторов заданного блока операторов известно заранее. Данная конструкция выглядит следующим образом:

For счетчик = начальное значение To конечное значение [Step шаг] Операторы1[Exit For] Операторы2Next [счетчик]

Когда приведенные операторы выполняются первый раз, то переменной счетчику присваивается начальное значение, после чего возможны два варианта действий. Если в результате проверки условия счетчик > конечное значение было получено значение True, то происходит завершение цикла, при этом блоки операторы1 и операторы2 ни разу не выполняются. С другой стороны, если результатом проверки условия является False, то в этом случае блоки операторов выполняются первый раз, после чего происходит переход на начало цикла. Далее значение переменной-счетчика увеличивается на шаг, расположенный после ключевого слова Step (в случае его отсутствия устанавливается шаг = 1). После этого снова проверяется истинность условия счетчик > конечное значение и т.д., окончание цикла происходит в тот момент, когда результатом данной проверки станет значение True.

Зачастую бывает необходимо "аварийно" завершать работу цикла при выполнении какого-либо дополнительного условия. В этом случае внутри цикла следует использовать служебное словосочетание Exit:For, которое обычно располагают в управляющей конструкции, например:

If условие Then Exit For

Если результатом проверки условия будет значение True, то выполнение цикла будет прекращено, причем блок операторы1 будет выполнен очередной раз, а блок операоры2 - нет.

Цикл Do:Loop. Применяется в том случае, когда число повторений операторов тела цикла заранее неизвестно. Существуют четыре разновидности данной конструкции. При использовании первых двух цикл либо выполнится много раз, либо не выполнится вообще.

Do Until условие ОператорыLoop

Если результатом проверки условия является значение False, то блок операторы выполняется, иначе осуществляется переход на оператор, расположенный после служебного слова Loop. С другой стороны, если первая проверка условия даст результат True, то цикл не выполнится ни разу.

Do While условие ОператорыLoop

Если условие истинно, то происходит выполнение блока операторы, если же ложно, то есть результатом проверки является False, то цикл не выполниться ни разу.

В случае использования последних двух конструкций цикл будет выполнен хотя бы один раз.

Do ОператорыLoop Until условие

Блок операторы выполняется до тех пор, пока результатом проверки условия является значение False, иначе выполнение цикла заканчивается.

Do ОператорыLoop While условие

В случае ложности условия выполняется блок операторы, если же оно истинно, т.е. результатом проверки является значение True, то происходит окончание чикла.

Цикл While:Wend. Также используется в том случае, когда число повторений операторов тела цикла заранее неизвестно, и имеет следующий синтаксис:

While условие ОператорыWend

Если результатом проверки условия является значение True, то блок операторы выполняется, иначе осуществляется переход на оператор, расположенный после служебного слова Wend. С другой стороны, если первая проверка условия даст результат False, то цикл не выполнится ни разу.

 

 

Ефективність операцій

Масиви ефективні при звертанні до довільного елементу, яке відбувається за постійний час (O(1)), однак такі операції як додавання та видалення елементу, потребують часу O(n), де n -- розмір масиву. Тому масиви переважно використовуються для зберігання даних, до елементів яких відбувається довільний доступ без додавання або видалення нових елементів, тоді як для алгоритмів с інтенсивними операціями додавання та видалення, ефективнішими є зв'язані списки.

Збереження в пам'яті

Інша перевага масивів, яка є досить важливою -- це можливість компактного збереження послідовності їх елементів в локальній області пам'яті (що не завжди вдається, наприклад, для зв'язаних списків), що дозволяє ефективно виконувати операції з послідовного обходу елементів таких масивів.

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

Індекси в масивах

У випадках, коли розмір масиву є досить великий та використання звичайного звертання за індексом стає проблематичним, або великий відсоток його комірок не використовується, слід звертатись до асоціативних масивів, де проблема індексування великих об'ємів інформації вирішується більш оптимально.

З тої причини, що масиви мають фіксовану довжину, слід дуже обережно ставитись до процедури звертання до елементів за їхнім індексом, тому що намагання звернутись до елементу, індекс якого перевищує розмір такого масива (наприклад, до елементу з індексом 6 в масиві з 5 елементів), може призвести до непередбачуваних наслідків.

Слід також бути уважним щодо принципів нумерації елементів масиву, яка в одних мовах програмування може починатись з 0, а в інших -- з 1.

Работа с объектами

При создании приложения в VBA в основном происходит работа с объектами. Можно использовать объекты, предоставляемые VBA: элементы управления, формы и объекты доступа к данным. Можно также управлять объектами других приложений из приложения VBA. Можно даже создавать свои собственные объекты и определять для них дополнительные свойства и методы.

Что такое объект?

Объект - это комбинация кода и данных, которую можно рассматривать как одно целое. Объект может быть частью приложения, как элемент управления или форма. Целое приложение также может быть объектом. В таблице приведены примеры типов объектов, которые можно использовать в VBA:

Объект Описание
Кнопка управления Элементы управления на форме, например кнопки управления и рамки, являются объектами
Форма Каждая форма в проекте VBA является отдельным объектом
База данных Базы данных являются объектами и содержат другие объекты, например, поля и индексы
Диаграмма Диаграмма в Microsoft Excel является объектом

Происхождение объектов

Каждый объект в VBA определен классом (class). Класс используется для создания объектов и определяет их характеристики. Приведем два примера взаимоотношений между классами и объектами в VBA:

Элементы управления Панели элементов управления в VBA представляют классы. Объект, известный как элемент управления, не существует, пока он не нарисован на форме. Когда создается элемент управления, создается копия, или экземпляр (instance) класса элемента управления

Форма, используемая во время разработки, является классом. Во время выполнения VBA создает экземпляр класса формы

Окно Properties (Свойства) отображает класс и свойство Name (Имя) объектов в разработанном приложении VBA.

Все объекты создаются как идентичные копии своих классов. Свойства индивидуальных объектов можно изменять. Например, если на форме созданы три кнопки управления, каждый объект кнопка управления является экземпляром класса ConroandButton. Объекты одного класса используют общий набор характеристик и способностей (свойств, методов и событий). Каждому объекту дано свое имя, их можно по отдельности заблокировать и разблокировать, поместить в разные места на форме и т. д.

Понятие "класс объекта" не часто упоминается. Просто надо помнить, что, например, термин "элемент управления списком" означает "экземпляр класса ListBox".

Основы работы с объектами

Объекты VBA поддерживают свойства, методы и события. В VBA данные объекта (установки или атрибуты) называются свойствами, тогда как процедуры, которые оперируют с объектом, называются его методами. Событие - это действие, распознаваемое объектом, например, щелчок кнопкой мыши или нажатие клавиши клавиатуры, и программист может написать код, реагирующий на это событие.

Можно изменять характеристики объекта, меняя его свойства. Рассмотрим радио: одно из свойств радио - громкость (volume). В терминах обсуждаемой темы можно сказать, что радио обладает свойством "Volume", которое регулируется изменением его значения. Предположим, что можно установить регулятор громкости радио в положения от 0 до 10. Если бы радио управлялось с помощью VBA, можно было бы написать код процедуры, которая изменяла бы значение свойства "Volume" от 3 до 5, чтобы радио работало громче:

Radio.Volume = 5

Кроме свойств объекты обладают методами. Методы - это такая же часть объектов, как и свойства. В целом, методы - это действия, которые можно выполнить, тогда как свойства - это атрибуты, которые устанавливаются или восстанавливаются. Например, чтобы позвонить по телефону, надо набрать номер (dial). Можно было бы сказать, что телефоны обладают методом "Dial", и использовать этот синтаксис для набора номера 555111:

Phone.Dial 5551111

Объекты также обладают событиями. События инициируются, когда изменяются некоторые свойства объекта. Например, радио может иметь событие "VolumeChange" (Изменение громкости). Телефон может иметь событие "Ring"(Звонок).

Управление объектами с помощью свойств

Индивидуальные свойства меняются. Некоторые можно установить во время разработки. Для этого лучше использовать окно Properties (Свойств), что позволяет вообще не писать никакого кода. Другие свойства не доступны во время разработки, следовательно, необходимо программировать установку таких свойств во время выполнения.

Свойства, которые можно установить или значения которых можно получить только во время выполнения, называются изменяемыми (read-write properties). Свойства, значения которых можно только прочитать во время выполнения, называются неизменяемыми (read-only properties).

Установка значений свойств

Значение свойства устанавливается, только если необходимо изменить внешний вид или поведение объекта. Например, свойство Text элемента управления TextBox изменяют, если необходимо изменить содержимое поля.

Для установки значения свойства применяется следующий синтаксис:

object.property = expression

Следующие операторы демонстрируют, как можно устанавливать значения свойств:

Textl.Top = 200 ' Значение свойства Тор равно 200 твипам.

Textl.Visible = True ' Отображает текстовое поле.

Textl.Text = "hello" ' Отображает 'hello' в текстовом поле.

Получение значений свойств

Получают значение свойства тогда, когда хотят определить состояние объекта до выполнения каких-либо действий из кода, например, присвоить значение свойству другого объекта. Можно проанализировать содержимое текстового поля (значение свойства Text этого элемента управления) перед выполнением кода, который может изменить это значение.

В большинстве случаев, чтобы получить значение свойства, применяется следующий синтаксис:

variable = object.property

Можно также использовать значение свойства, как часть более сложных выражений, без присваивания этого значения переменной. В следующем примере значение свойства Top (Верх) нового члена массива элементов управления вычисляется как значение свойства Top предыдущего члена плюс 400:

Private Sub cmdAdd_Click()

' [операторы]

optButton(n).Top = optButton(n-l).Top + 400

' [операторы] End Sub

Примечание

В случае многократного использования значения свойства код будет выполняться быстрее, если хранить это значение в переменной.

Взаимосвязь объектов

Если на форму помещаются две кнопки управления, они являются отдельными объектами с различными значениями свойства Name (Имя) (command1 и Command2), НО ОНИ СОВМССТНО ИСПОЛЬЗУЮТ ОДИН И ТОТ ЖЕ КЛАСС: CommandButton.

Кроме того, они расположены на одной форме. Но рассмотренный выше в этой главе элемент управления также принадлежит этой форме. Это выстраивает элементы управления в некоторую иерархию. Чтобы сослаться на элемент управления, сначала нужно сослаться на форму, точно так же необходимо набрать код страны или код области, прежде чем набирать конкретный номер телефона.

Рассматриваемые кнопки управления также являются элементами управления - это их общая характеристика. Все элементы управления имеют общие характеристики, что отличает их от форм и других объектов в окружении VBA. Далее будет рассматриваться использование наборов VBA для объединения родственных объектов в группы.

Иерархия объектов

Иерархия объектов (object hierarchy) определяет, как объекты связаны друг с другом и как к ним можно обратиться. В большинстве случаев программисту нет необходимости заботиться об иерархии объектов VBA, однако:

При обращении к объектам других приложений следует знать иерархию объектов этого приложения.

Работая с объектами доступа к данным, следует знать иерархию Data Access Objects (Объектов доступа к данным)

Наборы объектов

Наборы объектов имеют собственные свойства и методы. Объекты в наборе называются членами набора (members of the collection). Все члены набора перенумерованы последовательно, начиная с 0. Номер члена в этой последовательности называется его индексом (index number). Например, набор Controls (Элементы управления) состоит из всех элементов управления на заданной форме, как показано на рис. 5.10. Наборы применяются для упрощения кода, если необходимо выполнить одну и ту же операцию над всеми объектами в наборе.

Например, следующий код последовательно просматривает набор controls и заносит имя члена в список:

Dim MyControl as Control For Each MyControl In Forml.Controls

' Имя каждого элемента управления заносится в список.

Listl.AddItem MyControl.Name Next MyControl

Общие наборы в VBA

В VBA существуют некоторые общие случаи, когда один объект содержит другие объекты. В таблице кратко описаны наиболее часто используемые наборы VBA.

Формы.

Первым шагом при разработке приложения на VBA является создание интерфейса, видимой части приложения, с которым взаимодействует пользователь. Формы и элементы управления как раз и являются строительными блоками при создании интерфейса. Именно с этими объектами приходится работать при построении приложений.

Формы - это объекты, которые обладают свойствами, определяющими их внешний вид, методами, определяющими их поведение, и событиями, которые определяют их взаимодействие с пользователем. Установкой свойств формы и разработкой кода VBA для отклика формы на события создается объект, удовлетворяющий требованиям определенного приложения.

Элементы управления - это объекты, содержащиеся внутри объектов-форм. Каждый тип элемента управления имеет свой собственный набор свойств, методов и событий, что делает его пригодным для определенной цели. Некоторые элементы управления, используемые в приложениях, лучше всего подходят для ввода или отображения текста. Другие элементы управления обеспечивают доступ к другим приложениям и данным процессов таким образом, как будто бы удаленное приложение является частью самого приложения.

Данная глава знакомит читателя с основными понятиями, необходимыми для работы с формами и элементами управления и связанными с ними свойствами, методами и событиями. Обсуждается большое количество стандартных элементов управления, а также специфические для форм вопросы: меню и окна диалога.

Разработка формы

Формы являются основными строительными блоками приложения VBA, теми окнами, с которыми взаимодействует пользователь при работе с приложением. У форм есть свои свойства, события и методы, которые позволяют управлять их внешним видом и поведением.

Первым шагом в разработке формы является установка значений ее свойств. Свойства формы можно установить во время разработки в окне Properties (Свойства) или во время выполнения (run time) приложения, написав соответствующий код.

Установка свойств формы

Многие из свойств формы воздействуют на ее внешний вид, т.е. то, как ее видит пользователь. Свойство Caption (Название) определяет текст заголовка окна (title bar) формы. Изменяя установку свойства BorderStyle, можно управлять размерами формы.

Свойства Height (Высота) и Width (Ширина) определяют начальные размеры формы; свойства Left (Левый) и Top (Верхний) определяют местоположение формы по отношению к левому верхнему углу экрана монитора.

Свойство Name (Имя) устанавливает имя, по которому можно обращаться к форме из кода. По умолчанию, когда форма впервые добавляется к проекту, ее имя может быть одним из последовательности имен Form1, Form2 и т. д. Однако для программиста удобнее, если свойство Name будет иметь более выразительное значение, например, frmГлавная для первой формы приложения.

Наилучший путь познакомиться с многочисленными свойствами форм - это поэкспериментировать с ними. Изменить значения некоторых свойств формы в окне Properties, затем запустить приложение и проанализировать воздействие новых значений. Узнать больше о каждом свойстве можно также, выбрав его и нажав F1

События и методы формы

Как объекты, так и формы могут выполнять методы и реагировать (откликаться) на события.

При каждом изменении размера формы в результате действий пользователя или программным способом инициируется событие Resize (Изменить размер) формы. Это позволяет изменять размеры элементов управления на форме или перемещать их, когда изменены размеры самой формы.

Событие Activate (Активизировать) происходит всегда, когда форма становится активной, а событие Deactivate (Деактивировать) - когда активной становится другая форма приложения. Эти события удобны для организации поведения формы при ее инициировании и завершении работы с ней. Например, можно написать код, который в случае события Activate выделит текст в каком-нибудь тeкcтoвoм окне, а в случае события Deactivate внесенные изменения будут сохранены в файле или базе данных.

Чтобы сделать форму видимой, следует вызвать метод show (Показать):

Form2.Show

Вызов метода show имеет тот же эффект, что и установка значения свойства visible (Видимый) формы в True (Истина).

Многие из методов формы работают с текстом или графикой. Методы Print (Печатать), Line (Линия), Сircle (Окружность) и Refresh (Обновить) полезны для печати или рисования непосредственно на поверхности формы.

Свойство Container

Свойство container (Набор) используется для изменения набора объектов внутри формы. Следующие элементы управления могут содержать другие элементы управления:

Рамка

Графическое окно

Следующий пример демонстрирует перемещение кнопки управления из одного набора на форме в другой. Откроем новый проект и создадим на форме рамку, графическое окно и кнопку управления.

Следующий код в процедуре обработки события click (Щелчок) формы увеличивает переменную цикла и использует конструкцию select case для поочередного перемещения кнопки управления из контейнера в контейнер:

Private Sub Form_Click() Static intX as Integer Select Case intXCase 0Set Command1.Container = Picture1Command1.Top= 0Command1.Left= 0Case 1Set Coinmand1. Container = Frame1 Command1.Top= 0 Command1.Left= 0Case 2Set Command1.Container = Form1 Conmiand1. Top= 0 Commandl.Left= 0End Select intX = intX + 1 End Sub

Связь между объектами

Кроме использования и создания объектов в VBA можно организовать коммуникационную связь с другими приложениями и управлять их объектами из разрабатываемого приложения. Возможность совместного использования данных приложениями - одна из ключевых в операционной системе Windows. VBA предоставляет большую гибкость при организации взаимодействия с другими приложениями.

Создание объектов

Самый простой способ создать объект - щелкнуть два раза на элементе управления в Панели управления. Однако для реализации всех возм возможностей объектов, доступных в VBA и из других приложений, следует использовать программные возможности VBA для создания объектов во время выполнения:

Можно создавать ссылки на объект с помощью переменных

Можно создавать собственные объекты с самого начала с помощью модулей классов

Можно создавать собственные наборы с помощью объекта collection (Набор.)

Формы как объекты

Наиболее часто формы используются для создания интерфейса приложения, но они также являются объектами, которые можно вызывать из других модулей приложения. Формы тесно связаны с модулями классов. Главное различие между ними заключается в том, что формы могут быть видимыми объектами, тогда как модули не имеют видимого интерфейса.

Добавление разработанных пользователем методов и свойств

Можно добавлять разработанные методы и свойства к формам и обращаться к ним из других модулей в приложении. Чтобы создать новый метод для формы, следует объявить процедуру с ключевым словом public:

' Пользовательский метод на Form1 Public Sub LateJobsCountO. ' <операторы> End Sub

Процедуру LateJobsCount можно вызвать из другого модуля оператором:

Form1.LateJobsCount

Создать новое свойство так же просто, как объявить открытую переменную в модуле формы:

Public IDNumber As Integer

Можно устанавливать и возвращать значение свойства IDNumber формы Form1 из других модулей двумя операторами:

Form1.IDNumber = 3 Textl.Text = Form1.IDNumber

Можно также использовать процедуры property (Свойство) для добавления разработанных свойств к форме.

Примечание

Можно обратиться к переменной, разработанному методу или установить значение разработанного свойства формы без ее загрузки. Это позволяет выполнить код на форме без загрузки ее в память. Точно так же ссылка на элемент управления без ссылки на какое-то из его свойств или методов не загружает форму.

Ключевое слово New

Ключевое слово New применяется для создания нового объекта в соответствии с его определением в своем классе. Его можно применять для создания экземпляров форм, классов, определенных в модулях классов, и наборов.

Использование ключевого слова New с формами

Каждая создаваемая во время разработки форма является классом. С помощью ключевого слова New можно создавать новые экземпляры этого класса. Чтобы увидеть, как это делается, создадим кнопку управления и несколько других элементов управления на форме. В окне Properties присвоим свойству Name формы значение sample. Добавим следующий код в процедуру обработки события click кнопки управления:

Dim x As sampleSet x = New sampleх. Show

Запустим приложение и щелкнем несколько раз кнопкой мыши на кнопке управления. Передвинем первую форму в сторону. Так как форма является классом с видимым интерфейсом, мы увидим дополнительные копии. Каждая форма имеет те же самые элементы управления, что и форма во время разработки.

Примечание

Чтобы сделать форму переменной и сохранять экземпляр загруженной формы, следует использовать переменные Static (Статический) или Public (Открытый) вместо локальных переменных.

Использование ключевого слова New другими объектами

Ключевое слово New используется для создания наборов и объектов классов, определенных в модулях классов. Рассмотрим пример, демонстрирующий создание экземпляров класса с помощью ключевого слова New. Откроем новый проект и создадим кнопку управления на форме Form1. Выполним команду Add Class Module (Добавить модуль класса) меню Project для добавления модуля класса в проект. Установим значение свойства Name модуля класса в showMe.

Следующий код в модуле Form1 создает новый образец класса ShowMe и вызывает процедуру, содержащуюся в модуле класса:

Public cisNew As ShowMe Private Sub Commandl Click()Set cisNew = New ShowMecisNew.ShowFrm End Sub

Процедура ShowFrm в модуле класса создает новый образец класса sample и показывает ее:

Sub ShowFrm()Dim frmNew As sampleSet frmNew = New samplefrmNew.ShowEnd Sub

Запустим приложение и щелкнем кнопкой мыши несколько раз на кнопке управления. Получаем эффект, как в предыдущем примере, но ключевое слово New использовалось для создания класса.

Ограничения на использование ключевого слова New

С ключевым словом New нельзя:

Объявлять переменные основного типа данных, например: Dim x As New Integer

Объявлять переменные любого родового объекта, например: Dim x As New Control

Объявлять переменные типа для любого конкретного элемента управления, например: Dim X As New ListBox

Объявлять переменные для любого конкретного элемента управления, например: Dim X As New IstNames.

Освобождение ссылок на объекты

Каждый объект использует память и системные ресурсы. Хорошим стилем программирования является освобождение этих ресурсов, когда объект больше не нужен. Этого можно добиться с помощью:

Оператора unload (Выгрузить) для выгрузки формы или элемента управления из памяти

Значения Nothing (Ничего) для освобождения ресурсов, используемых переменной для объекта. Следует присвоить значение Nothing переменной для объекта оператором Set.

Передача объектов в процедуры

В VBA можно передавать объекты в процедуры. В следующем примере предполагается, что на форме существует кнопка управления:



Поделиться:


Последнее изменение этой страницы: 2016-12-17; просмотров: 195; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.12.162.179 (0.155 с.)