Основы офисного программирования и документы Word


Методы объекта Application


Казалось бы, объекты Application не должны иметь много методов, а среди имеющихся методов большая часть должна быть общей для приложений разных типов. Ведь специфика приложений должна проявляться на более низком уровне иерархии, когда начинается работа, например, с документами Word или рабочими книгами Excel. Но это не так. Реально методов много, а общих из них - мало. Более того, даже методы Activate, Run, Quit, имеющиеся у всех приложений, совпадающие по именам и предназначенные для решения стандартных задач (активизации приложения, запуска макроса, выхода из приложения), организованы по-разному.

Я не буду проводить подробного разбора методов этого объекта, а ограничусь лишь кратким обзором, указав для большинства методов их назначение и аргументы.

Таблица 1.3. Методы объекта Application

СинтаксисОписание аргументовНазначение
Sub Activate()НетАктивизирует приложение
Sub AddAddress(TagID() As String, Value() As String)Первый массив задает имена компонент адреса, второй их значения. Имена компонент фиксированы и задаются специальными константами, например, pr_given_name, pr_surname.Добавляет новый адрес в адресную книгу
Sub AutomaticChange()НетВыполняет автоформатирование, когда есть изменения, предлагаемые Помощником (Office Assistant).
Function BuildKeyCode(Arg1 As WdKey, [Arg2], [Arg3], [Arg4]) As LongАргументы задают комбинацию клавишей, обычно, это пара клавиш, например ALT и F1. Клавиши задаются константами перечисления WdKey.Возвращает уникальный код каждой комбинации "горячих" клавиш.
Sub ChangeFileOpenDirectory(Path As String)Путь к каталогу.Устанавливает каталог по умолчанию, открываемый в приложении Word при выполнении команды Open.
Function CheckGrammar(String As String) As BooleanПроверяемая строка.Выполняет проверку грамматической корректности строки, указанной в аргументе. Заметьте, аналогичный метод у объектов на нижнем уровне иерархии проверяет корректность текста этих объектов.
Function CheckSpelling(Word As String, [CustomDictionary], [IgnoreUppercase], [MainDictionary], [CustomDictionary2], … [CustomDictionary10]) As BooleanПервый обязательный аргумент задает проверяемую строку. Остальные необязательные аргументы задают словари и условия проверки.Выполняет проверку орфографии строки, заданной первым аргументом.
Function CleanString(String As String) As StringСтрока преобразованияУдаляет или преобразовывает непечатаемые и специальные символы строки, заданной своим аргументом.
Function DefaultWebOptions() As DefaultWebOptionsНетВозвращает соответствующий объект, содержащий глобальные параметры уровня приложения, используемые Word всякий раз при сохранении или открытии документа как Web-страницы.
Function GetAddress([Name], [AddressProperties], [UseAutoText], [ DisplaySelectDialog], [SelectDialog], [CheckNamesDialog], [RecentAddressesChoice], [UpdateRecentAddresses]) As StringПервый возможный аргумент указывает имя адресата, остальные определяют специфику поиска адреса.Ищет адрес в адресной книге. Аргументы определяют специфику выполнения этой операции.
Function GetDefaultTheme(DocumentType As WdDocumentMedium) As StringТип, заданный константой из перечисления WdDocumentMediumВозвращает имя темы (фонового узора) по умолчанию, принятого в Word для новых документов, или сообщений Email или Web-страниц.
Sub GoBack(), Sub GoForward()НетВ активном документе передвигает вперед и назад точку вставки между тремя последними точками редактирования.
Sub Help(HelpType)Константа, заданная перечислением WdHelpTypeВ зависимости от значения константы отображает то или иное окно справочной системы. Чаще всего, открывает окно Office Assistant со списком тем справочной системы.
Sub HelpTool()НетИзменяет указатель мыши со стрелки на знак вопроса, что будет указывать на получение контекстно-чувствительной справки при подведении указателя к некоторому элементу активного документа. Нажатие Esc возвращает прежний вид указателя.
Function Keyboard([LangId As Long]) As LongЕсли аргумент опущен, то возвращается значение, представляющее комбинацию чисел, определяющих язык и раскладку клавиатуры. Для установки языка и раскладки необходимо задать нужную комбинацию значений. Устанавливает или возвращает язык и раскладку клавиатуры.
Function KeyString(KeyCode As Long, [KeyCode2]) As StringПервый обязательный аргумент задает код, определяющий комбинацию горячих клавиш. Возвращает по коду строку, задающую комбинацию горячих клавиш. Функция, обратная по своему действию функции BuildKeyCode.
Sub ListCommands(ListAllCommands As Boolean)Если аргумент имеет значение true, то выводится весь список команд Word, в противном случае - команд, прошедших настройку в приложении. Создает новый документ, содержащий таблицу со списком команд Word. Полный список содержит 1175 команд. Для каждой команды указывается комбинация горячих клавиш и инструментальная панель меню.
Sub LookupNameProperties(Name As String)Задает имя в адресной книгеОткрывает диалоговое окно свойств для адресата, имя которого указано в аргументе метода.
Sub Move(Left As Long, Top As Long)Координаты окнаПередвигает окно активного документа в позицию, указанную аргументами.
Function NewWindow() As WindowНетСоздает новое окно - копию активного окна активного документа.
Sub OnTime(When,Name As String, [Tolerance])Первый аргумент задает время, второй - имя макроса.Включает будильник и запускает макрос в заданное время.
Sub OrganizerCopy(Source As String, Destination As String,Name As String, Object As WdOrganizerObject)Source - имя файла - источника, Destination - имя файла-назначения,Name - имя копируемого элемента, Object - тип копируемого элемента, задается константой.Копирует элемент, заданный аргументомName из документа или шаблона в документ или шаблон. Копируемый элемент может быть входом AutoText, инструментальной панелью, стилем или макросом, что определяется аргументом Object.
Sub OrganizerDelete(Source As String,Name As String, Object As WdOrganizerObject)Смотри описание аргументов предыдущего метода Copy.Выполняет операцию удаления элемента.
Sub OrganizerRename(Source As String,Name As String, NewName As String, Object As WdOrganizerObject)Смотри описание аргументов метода Copy.Выполняет операцию переименования элемента.
Sub PrintOut([Background], [Append], [Range], [OutputFileName], [From], [To], [Item], [Copies], [Pages], [PageType], [PrintToFile], [Collate], [FileName], [ActivePrinterMacGX], [ManualDuplexPrint], [PrintZoomColumn], [PrintZoomRow], [PrintZoomPaperWidth], [PrintZoomPaperHeight])Аргументы соответствуют опциям в диалоговом окне Print меню File.Печатает все части документа.
Function ProductCode() As StringНет.Возвращает глобальный идентификатор - GUID приложения Word.
Sub Quit([SaveChanges], [OriginalFormat], [RouteDocument])Задают опции в момент закрытия приложения.Закрывает все открытые документы с их возможным сохранением и пересылкой всем участникам, совместно работающим над документами.
Function Repeat([Times]) As BooleanЧисло повторений последней команды редактированияВыполняет заданное число раз последнюю команду редактирования, возвращает истину в случае успеха.
Sub Resize(Width As Long, Height As Long)Размеры окна приложения Word. Изменяет размеры окна приложения Word.
Function Run(MacroName As String, [varg1], … [varg30])Имя макроса и до 30 передаваемых ему аргументов.Запускает макрос VBA.
Sub ScreenRefresh()Нет.Запускает Fax Wizard.
Sub SetDefaultTheme(Name As String, DocumentType As WdDocumentMedium)Name задает имя темы и параметры форматирования. Формат этого параметра "имя_темы nnn". Второй аргумент задает тип документа Устанавливает для заданного типа документа тему ( фоновый узор) и способ форматирования. Смотри также описание метода GetDefaultTheme.
Группа DDE-методов: Sub DDEExecute(Channel As Long, Command As String) и другие методы этой группы.Обеспечивает динамический обмен данными между приложениями.
Группа методов преобразования линейных мер: Function CentimetersToPoints(Centimeters As Single) As Single Function PointsToCentimeters(Points As Single) As Single И другие методы этой группы.Мера длины в указанных единицах.Задает взаимное преобразование между точками и другими мерами длины. Возвращает значение меры, заданной аргументом, в других единицах.


Группа методов преобразования линейных мер: Function CentimetersToPoints(Centimeters As Single) As Single Function PointsToCentimeters(Points As Single) As Single И другие методы этой группы. Мера длины в указанных единицах. Задает взаимное преобразование между точками и другими мерами длины. Возвращает значение меры, заданной аргументом, в других единицах. Как видите, набор методов объекта Application разнообразен. Некоторые из них вполне естественны для этого объекта, как, например, методы работы с окном приложения, другие, на мой взгляд, довольно экзотичны, - например, методы работы со строкой текста, проверяющие ее корректность. Если попытаться классифицировать эти методы, то условно их можно разбить на следующие группы, каждая из которых позволяет работать с таким объектом, как:

  • Окно приложения.
  • Адресная книга.
  • Каталоги, используемые приложением по умолчанию.
  • Форматирование, в том числе темы, используемые в Web-страницах.
  • Редактирование.
  • Справочная система.
  • Строки.
  • Средства запуска макросов, в том числе в заданное время.
  • Организатор (Organizer).
  • Динамический обмен данными.


Содержание раздела