Читаем Интернет-журнал "Домашняя лаборатория", 2007 №3 полностью

В данном примере вначале объекту VBA "Find", являющемуся подобъектом объекта "Selection", задаются необходимые свойства".Text", ".Forward", ".Format" и другие. Затем выполняется метод".Execute" для объекта "Selection.Find" с параметром "Replace:=wdReplaceAll"(т. е. "Заменить все"). Команда With… End With позволяет не писать для каждого свойства или подобъекта полное название соответствующего объекта, что дает возможность экономить место и делать программу лучше и быстрее работающей.

Свойства и методы по-разному отображаются в контекстной подсказке. Так, против названий свойств стоит серый символ указывающей руки, а против названий методов — зеленый значок летящей коробки (см. на рис. 1.8 в предыдущей главе).

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

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

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

На каждое событие пишется своя подпрограмма, которая это событие "обрабатывает" — то есть выполняет определенные действия, которые должны быть выполнены, когда это событие происходит.

Типы данных и объявление переменных Все переменные в программе на VBA могут содержать какую-нибудь информацию: текст, число, утверждение истинности и др. В зависимости от вида содержимого они подразделяются на типы данных, — соответственно текстовые, числовые, булевые (то есть принимающие значения "да" или "нет", соответственно по-английски "True" или "False"). В VBA определено большое количество различных типов данных, которые может содержать переменная. Вы можете получить информацию о всех возможных типах данных VBA из Справки, найдя в Предметном указателе раздел "Типы Данных" (рис. 2.1).



Рис. 2.1.Справка по типам данных VBA


Так, переменная типа Integer — это целое число -32 768 до 32 767, а переменная типа String — это строка текста длиной до двух миллионов символов.

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

Для того, чтобы переменная могла использоваться в программе, она должна быть объявлена — то есть указана в соответствующем разделе модуля, который так и называется — Описания и располагается в самой верхней его части, до начала первой программы (рис. 2.2). Для этого нужно вставить туда описание переменной вида "Dim х (переменная) As (тип данных): Dim a As Integer". Вместо слова Dim могут также использоваться слова Public и Private.

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



Рис. 2.2.Область описаний программы.


Как Public или Private переменная может быть объявлена только в разделе описаний переменных. С помощью же инструкции (то есть команды, не выполняющей реальных действий) Dim она может быть объявлена и в тексте программы, но тогда ее другие модули уже использовать не смогут никак.

Объявление типа переменных нужно программе, чтобы она заранее отвела под них именно столько оперативной памяти, сколько нужно для размещения именно такой переменной. Для логической — хватит и одного бита, для буквенной — нужен целый байт, а для строковой или числовой — значительно большие объемы. Можно вообще не объявлять специально переменные, включая их в текст программы по мере надобности, так как тогда VBA присвоит им автоматически специальный для таких случаев тип данных Variant и отведет для каждой переменной максимально возможную область памяти, что, впрочем, не имеет особо отрицательного значения из-за большого объема оперативной памяти на современных компьютерах.

Перейти на страницу:

Похожие книги