Тайны и секреты компьютера
Шрифт:
Рис. 3.1. Вот что показывает справка по слову WholeStory
Немножко непонятный текст, но при помощи словаря удастся перевести, что эта команда расширяет выделение на весь текст.
Небольшое отступление
Конечно, при самом первом знакомстве с редактором VBA эта информация
Как уже неоднократно упоминалось, язык VBA называется обьектно-ориентированнным. Такое название дано этому языку, как, впрочем, и большому количеству других современных языков программирования, из-за особого строения его команд (более подробно синтаксис VBA был описан во второй главе). Типичная команда Visual Basic имеет такой вид: <Обьект>.<Обьект, входящий в первый обьект>.<…>.<Тот обьект, с которым нужно произвести действие>.<Собственно действие>. Иными словами, каждая команда пишется как бы "с конца": вначале определяется то, над чем надо произвести действие — обьект, а затем само действие — метод. Разделителями компонентов команды служат точки. Вот пример такой команды:
Selection.Font.Size = 12
Эта команда устанавливает размер шрифта во всем выделенном тексте в 12 пунктов. У обьекта Selection (то есть выделенная в данный момент часть текста) есть подобьект Font — шрифт выделенного текста, а у подобьекта Font — свойство Size. Свойство Size тоже можно считать подобьектом. Знак "=" — это оператор присваивания, в данном случае свойству Size обьекта Font обьекта Selection присваивается значение 12 — размер шрифта во всем выделенном тексте устанавливается в 12 пунктов.
Если в документе ничего не выделено, то в 12 пунктов устанавливается размер текущего шрифта и следующая набранная буква будет именно такого размера. Если выделен графический обьект, то команда будет ошибочной, о чем VBA выдаст соответствующее сообщение.
Кроме того, с помощью подобной команды можно получить информацию о текущем размере шрифта:
а = Selection.Font.Size
После ее выполнения переменная а будет иметь значение, равное размеру шрифта выделенного текста. Как видите, синтаксис команды подобен ситаксису предыдущей.
Если в документе ничего не выделено, то переменная а будет иметь значение размера шрифта следующего за курсором символа. Если разные части выделенного текста оформлены разными шрифтами, то переменная а будет иметь значение 9999999. Если выделен графический обьект, то команда будет ошибочной, о чем VBA выдаст соответствующее сообщение.
With Selection.Font
Name = "Times New Roman"
Size = 12
ColorIndex = wdBlack
End With
Похоже, это что-то, связанное со шрифтом. В самом деле, ведь «Font» по-английски значит «шрифт», а «Selection» — «выделение». По слову «Name» можно заключить, что в этой команде устанавливается имя шрифта — "Times New Roman", а слово «Size», наверное, устанавливает его размер.".ColorIndex = wdBlack" — выглядит как команда, устанавливающая цвет шрифта: есть слово «Color» — «цвет» и есть
Рис. 3.2. Справка по слову "Selection"
Используя англо-русский словарь, можно узнать, что «Selection» означает выделенный текст или точку ввода текста. Посмотрим справку по слову «Font» (рис. 3.3).
Рис. 3.3. Справка по слову "Font"
Что-то маловато информации. Ну, ясно, что шрифт, а как пишется команда, какие у нее могут быть еще параметры? Нажмем-ка на подчеркнутое слово «Font» в тексте — это выведет информацию об обьекте «Font» (рис. 3.4).
Рис. 3.4. Справка об обьекте "Font"
Ну, теперь все ясно. Даже примеры приведены, — и очень похожие на наш макрос. Посмотрим тогда ссылку «Properties» вверху окна справки — список свойств шрифта, которые можно задать в программе (рис. 3.5).
Рис. 3.5. Список свойств обьекта "Font"
Это, кстати, такой же список, как и тот, что выпадает в качестве контекстной подсказки, если при наборе текста программы вручную поставить после слова «Font» точку. Видно, что там есть все свойства шрифта, задаваемые в макросе: и «Name», и «Size», и «ColorIndex». Можно при желании почитать про каждое свойство подробно, но, наверное, лучше разобраться с командой «With», которая встречается и в нашем макросе, и в справке по слову «Font». Ставим на нее курсор и нажимаем F1 (рис. 3.6).
Рис. 3.6. Справка по слову "With"
Даже на русском (некоторые разделы справки VBA переведены на русский язык). Ну и прекрасно — прочтя справку, узнаем, что "Инструкция With позволяет выполнить последовательность инструкций над указанным объектом, не повторяя задание имени объекта." То есть она позволяет сократить обьем кода и облегчить ориентировку программиста в нем, — иначе, без этой функции, рассматриваемый фрагмент кода нашего макроса имел бы вид