(В массив "shrifti()" размером в количество шрифтов в системе помещается список имен всех установленных в системе шрифтов. Команда "WordBasic.SortArray" сортирует его по алфавиту.)
* * *
Условие "If Selection. Type = wdSelectionIP Then…" выполнится, только если в документе не выделен фрагмент текста.
* * *
Если вы решили хранить какую-нибудь информацию, нужную при работе программы, в отдельном файле, не стоит экспериментировать с командами чтения и открытия файла типа "open", "write" и др. Просто открывайте файл в Word как текстовый с помощью команды "Documents. Open…" и пишите в него обычными средствами записи текста: "Selection.Text = "Мой текст"".
* * *
Посмотрите повнимательнее свойства, объекты и методы таких объектов, как "Application" и "System" (для этого достаточно набрать название объекта и поставить после него точку, — список возможных продолжений отобразится сам — рис. 8.1). Среди них можно найти немало весьма интересных и полезных, вроде средства задания и получения значений ширины и высоты окна Word, информации о языке данной версии Office, метод чтения данных из произвольного места реестра и многое другое.
Рис. 8.1.
Вот некоторые полезные свойства объекта Application.
А вот некоторые интересные методы этого объекта:
* * *
С помощью фрагмента кода
Set MyData = New DataObject
MyData.SetText "Мой текст"
MyData.PutlnClipboard
можно поместить текст в буфер обмена, не используя активный документ.
* * *
С помощью команды "Options.DefaultFilePath("константа названия папки")" можно получить пути и имена папок, перечисленных в диалоговом окне Word "Сервис — Параметры — Расположение". Все константы перечислены в справке VBA по слову "DefaultFilePath" (рис. 8.2), а об их значении можно легко догадаться, переведя название константы с английского языка.
Рис. 8.2.
* * *
Если у одного из элементов формы установить свойство Cancel в True, то нажатие кнопки Esc будет эквивалентно клику мыши на этом элементе.
* * *
Если вы пишете инсталлятор для ваших программ, который помещает шаблоны с макросами в папку автозагружаемых файлов Word, то совсем необязательно требовать перезагрузки редактора, чтобы макросы из помещенного в эту папку шаблона стали доступны. VBA позволяет активизировать такие шаблоны без перезагрузки Microsoft Word — для этого существует специальная команда Addins.Add("полное имя шаблона, включая путь к нему и расширение").Installed = True