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

Используйте цифровую подпись, если вы желаете гарантировать неизменность передаваемых вами другим пользователям файлов, но не стремитесь запретить их им редактировать.


ПОЛЕЗНЫЕ СОВЕТЫ

В этой главе вы найдете набор советов по программированию на VBA, которые могут помочь вам в решении тех или иных задач. Кроме того, в конце главы есть несколько заметок на различные темы, связанные с программированием на Visual Basic for Applications.

* * *

Настройки программы можно сохранять в системном реестре Windows. Для этого служит команда "SaveSetting", с помощью которой можно поместить в системный реестр строку или число. Она имеет формат "SaveSetting "Имя приложения","Имя раздела", "Ключ", "Значение"". Имя приложения, имя раздела и ключ — указатели места, в котором сохраняется значение. Получить значения из реестра можно командой "GetSetting" с синтаксисом "GetSetting "Имя приложения","Имя раздела", "Ключ", "То значение, которое следует вернуть, если такого ключа, как указанный в предыдущем параметре, в реестре нет"", а удалить — командой "DeleteSetting "Имя приложения","Имя раздела", "Ключ"". Например:

SaveSetting "Макросы", "Макрос1", "Имя папки", "C: \MyPapka"

papka = GetSetting "Макросы", "Макрос1", "Имя папки", "C: \Docs"

* * *

Записать список всех установленных в системе шрифтов в массив можно таким способом:

ReDim shrifti(FontNames.Count) As String

For r = 1 To FontNames.Count shrifti(r) = FontNames(r)

Next r

WordBasic.SortArray shrifti

(В массив "shrifti" размером в количество шрифтов в системе помещается список имен всех установленных в системе шрифтов. Команда "WordBasic.SortArray" сортирует его по алфавиту.)

* * *

Условие "If Selection. Type = wdSelectionIP Then…" выполнится, только если в документе не выделен фрагмент текста.

* * *

Если вы решили хранить какую-нибудь информацию, нужную при работе программы, в отдельном файле, не стоит экспериментировать с командами чтения и открытия файла типа "open", "write" и др. Просто открывайте файл в Word как текстовый с помощью команды "Documents. Open…" и пишите в него обычными средствами записи текста: "Selection.Text = "Мой текст"".

* * *

Посмотрите повнимательнее свойства, объекты и методы таких объектов, как "Application" и "System" (для этого достаточно набрать название объекта и поставить после него точку, — список возможных продолжений отобразится сам — рис. 8.1). Среди них можно найти немало весьма интересных и полезных, вроде средства задания и получения значений ширины и высоты окна Word, информации о языке данной версии Office, метод чтения данных из произвольного места реестра и многое другое.



Рис. 8.1.Свойства и методы объекта System — склад весьма интересных вещей….


Вот некоторые полезные свойства объекта Application.

Application.CapsLock — показывает, горит ли на клавиатуре индикатор CapsLock.

Application.NumLock — показывает, горит ли на клавиатуре индикатор NumLock.

Application.Caption — сообщает заголовок окон запущенной программы (для Word, например, это — "Microsoft Word"). Этот заголовок можно поменять: так, команда "Application.Caption = "Мой Word"" заменит традиционный заголовок окна Word'а на тот текст, что указан в скобках.

Application.DisplaystatusBar — сообщает, отображается ли статусная строка. С помощью этого свойства можно и убрать ее, и снова восстановить — командами Application.DisplayStatusBar=False и Application.DisplaystatusBar=True соответственно.

Application.EnableCancelKey — в случае установки в True запущенный макрос нельзя будет прервать нажатием Ctrl+Break.

Application.Height и Application.Widht — возвращают соответственно высоту и ширину окна приложения. С помощью этих свойств можно и задать размеры окна приложения, скажем, расширить окно Word до нужной ширины.

Application.РаthSeparator — возвращает символ, служащий разделителем имен папок в полном пути к файлу. В MS-DOS и Windows это "\", а в операционных системах, применяемых на компьютерах Macintosh — ":". Использование данного свойства может пригодиться при разработке мультиплатформенных программ — работающих как в Microsoft Office for Windows, так и в Microsoft Office for Macintosh.

Application.Version — сообщает версию приложения. Например, такая команда, будучи вызванной в Microsoft Word 97, вернет "8.0" или "8.0а", в Microsoft Word 2000 — "9.0", в Microsoft Word ХР — "10.0".

А вот некоторые интересные методы этого объекта:

a=Application.CleanString (строковая переменная) — очищает строку, находящуюся в строковой переменной, от неотображаемых специальных символов;

Application.OnTime — позволяет запустить тот или иной макрос в назначенное время или спустя некоторый срок после выполнения данной команды. О параметрах использования рассказано в Справочной системе VBA, там же приведены и примеры.

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

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