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

Как уже говорилось в предыдущей главе, язык Visual Basic for Applications называется объектно-ориентированнным. Такое название дано этому языку, как, впрочем, и большому количеству других современных языков программирования, из-за особого строения его команд (более подробно синтаксис Visual Basic for Applications был описан выше). Типичная команда Visual Basic имеет такой вид: <Объект>.<Объект, входящий в первый объект>.<…>.<Тот объект, с которым нужно произвести действие>. «Собственно действие>. Иными словами, каждая команда пишется как бы "с конца": вначале определяется то, над чем надо произвести действие — объект, а затем само действие — метод. Разделителями компонентов команды служат знаки "точка". Вот пример такой команды:

Selection.Font.Size = 12

Эта команда устанавливает размер шрифта во всем выделенном тексте в 12 пунктов. У объекта Selection (то есть выделенная в данный момент часть текста) есть подобъект Font — шрифт выделенного текста, а у подобъекта Font — свойство Size. Свойство Size тоже можно считать подобъектом. Знак "=" — это оператор присваивания, в данном случае свойству Size объекта Font объекта Selection присваивается значение 12 — размер шрифта во всем выделенном тексте устанавливается в 12 пунктов. (Если в документе ничего не выделено, то в 12 пунктов устанавливается размер текущего шрифта и следующая набранная буква будет именно такого размера. Если выделен графический объект, то команда будет ошибочной, о чем Visual Basic for Applications выдаст соответствующее сообщение (рис. 5.5).)



Рис. 5.5.Попытка присвоить значение размера шрифта графическому объекту.


Кроме того, с помощью подобной команды можно получить информацию о текущем размере шрифта:

а = Selection.Font.Size

После ее выполнения переменная а будет иметь значение, равное размеру шрифта выделенного текста. Как видите, синтаксис команды подобен ситаксису предыдущей. (Если в документе ничего не выделено, то переменная а будет иметь значение размера шрифта следующего за курсором символа. Если разные части выделенного текста оформлены разными шрифтами, то переменная а будет иметь значение 9999999. Если выделен графический объект, то команда будет ошибочной, о чем Visual Basic for Applications выдаст соответствующее сообщение.)

* * *

With Selection

Font.Name = "Times New Roman"

Size = 12

Colorlndex = wdBlack

End With

Похоже, это что-то, связанное со шрифтом. В самом деле, ведь "Font" по-английски значит "шрифт", a "Selection" — "выделение". По слову "Name" можно заключить, что в этой команде устанавливается имя шрифта — "Times New Roman", а слово "Size", наверное, устанавливает его размер.".Colorlndex = wdBlack" — выглядит как команда, устанавливающая цвет шрифта: есть слово "Color" "цвет" и есть слово "Black" — "черный". Но чтобы не гадать попусту, посмотрим справку Visual Basic for Applications — поставим курсор на слово "Selection" и нажмем F1 (рис. 5.6).



Рис. 5.6. Справка по слову "Selection"


Используя англо-русский словарь, можно узнать, что "Selection" означает выделенный текст или точку ввода текста. Посмотрим справку по слову "Font" (рис. 5.7).



Рис. 5.7.Справка по слову "Font"


Что-то маловато информации. Ну, ясно, что шрифт, а как пишется команда, какие у нее могут быть еще параметры? Нажмем-ка на подчеркнутое слово "Font" в тексте — это выведет информацию об объекте "Font" (рис. 5.8).



Рис. 5.8. Справка об объекте "Font"


Ну, теперь все ясно. Даже примеры приведены, — и очень похожие на наш макрос. Посмотрим тогда ссылку "Properties" вверху окна справки — список свойств шрифта, которые можно задать в программе (рис. 5.9).



Рис. 5.9. Список свойств объекта "Font"


Это, кстати, такой же список, как и тот, что выпадает в качестве контекстной подсказки, если при наборе текста программы вручную поставить после слова "Font" точку. Видно, что там есть все свойства шрифта, задаваемые в макросе: и "Name", и "Size", и "Colorlndex". Можно при желании почитать про каждое свойство подробно, но, наверное, лучше разобраться с командой "With", которая встречается и в нашем макросе, и в справке по слову "Font". Ставим на нее курсор и нажимаем F1 (рис. 5.10).



Рис. 5.10. Справка по слову "With"


В Microsoft Office 97 эта справка будет написана даже на русском языке. Ну и прекрасно — прочтя справку, узнаем, что "Инструкция With позволяет выполнить последовательность инструкций над указанным объектом, не повторяя задание имени объекта". То есть она позволяет сократить обьем кода и облегчить ориентировку программиста в нем — иначе, без этой функции, рассматриваемый фрагмент кода нашего макроса имел бы вид

Selection.Font.Name = "Times New Roman"

Selection.Font.Size = 12

Selection.Font.Colorlndex = wdBlack

что и выглядит некрасиво, и места больше требует. Примем к сведению. Идем дальше:

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

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