Шрифт:
Свойство — это любая характеристика объекта. К примеру, у объекта — первой буквы документа есть свойства: выделение жирным, выделение цветом, подчеркивание, выделение курсивом, регистр и много еще других. У объекта — документа есть свойства: наличие автоматической расстановки переносов, наличие автоматической проверки грамматики и др. Большинство свойств объектов Visual Basic for Applications можно задавать программно, однако есть свойства Read-Only — не допускающие изменений. Многие свойства объектов Word также задаются через стандартные диалоговые окна Word — например, "Файл — Параметры страницы" или "Сервис — Параметры", однако их всегда можно задать и программно, а соответствующие диалоговые окна использовать при записи макроса для того, чтобы посмотреть синтаксис команды задания того или иного свойства.
Метод — это какое-либо действие над объектом. Например, печать текста или поиск текста в документе. У многих методов есть параметры метода, позволяющие задать параметры действия. Вот пример:
With Selection.Find
Text = "Этот текст надо заменить"
Replacement.Text = "Заменить на этот текст"
Forward = True
Wrap = wdFindContinue
Format = False
MatchCase = False
MatchWholeWord = False
MatchWildcards = False
MatchSoundsLike = False
MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
В данном примере вначале объекту Visual Basic for Applications "Find" (т. е. "процессу поиска"), являющемуся подобъектом объекта "Selection" (т. е. выделенный фрагмент текста или, если такового нет, точка ввода текста), задаются необходимые свойства".Text" (текст для замены), ".Forward" (направление поиска), ".Format" (необходимость учитывания формата текста) и другие. Затем выполняется метод".Execute" (т. е. здесь — собственно "выполнить поиск") для объекта "Selection.Find" с параметром "Replace:=wdReplaceAll"(т. е. "Заменить все").
Команда "With… End With" позволяет не писать для каждого свойства или подобъекта полное название соответствующего объекта, что дает возможность экономить место и делать программу лучше и быстрее работающей.
Свойства и методы по-разному отображаются в контекстной подсказке. Так, против названий свойств стоит серый символ указывающей руки, а против названий методов — зеленый значок летящей коробки (см. на рис. 4.2).
Рис. 4.2. Свойства и методы в контекстной подсказке
Событие — это то, что "происходит с объектом помимо его воли". Это "все, что случается" с объектами по милости пользователя или какой-либо программы. Нажатие кнопки в окне программы или клавиши на клавиатуре, набор буквы, клик мыши, открытие и закрытие окна программы или документа, завершение работы любой другой программы или ее запуск — все это события. События — основа работы любой программы. И даже если программа должна работать полностью автономно (например, планировщик заданий), то в качестве событий используется наступление того или иного времени на системных часах.
Так, когда пользователь нажимает кнопку на форме, происходит событие нажатия кнопки.
В Visual Basic for Applications для каждого события можно написать программу, которая будет срабатывать именно тогда, когда событие произойдет, и выполнять определенные действия, которые должны быть выполнены, когда это событие совершается.
Особое значение понятие событий имеет при написании программы реакций формы на изменения ее компонентов, а также при описании новых классов.
2. Типы данных и объявление переменных.
Переменная — это "данные с именем", некая информация, которая имеет имя и к которой по этому имени можно обращаться для ее считывания или изменения.
Информация, которая может содержаться в переменных, совершенно различна. Это может быть и текст, и число, и утверждение истинности, и многое другое. В программировании переменные подразделяются на типы данных в соответствии с характером содержащейся в них информации, — текстовые, числовые, булевые и т. д. Переменные, содержащие информацию одного характера, относятся к одному и тому же типу данных.
Разделение переменных по типу данных необходимо для того, чтобы при выполнении программы под каждую переменную иметь возможность отводить нужное количество памяти для размещения содержащейся в этой переменной информации. Если представить себе язык программирования, переменные в котором могут принимать значение лишь какой-либо буквы алфавита или одного из двух вариантов — "Истина" или "Ложь", то для того, чтобы переменная этого языка гарантированно поместилась в памяти, для нее надо выделить один байт столько, сколько занимает буква. А в том случае, если в этом представленном нами языке существует возможность определить тип данных переменной, то переменной, могущей принимать значение лишь "Истина" или "Ложь" и вследствие этого имеющей особый тип данных (обычно он именуется "булевый"), отличающийся от того, который имеют буквенные переменные, может быть выделен лишь один бит памяти — для записи значения "0" или "1", соответственно обозначающего "Ложь" и "Истину". В последнем случае расход памяти в восемь раз ниже.