Основные объекты текстового процессора word которые используются в программах на vba

В этом разделе справочника по VBA Word содержится документация по всем объектам, свойствам, методам и событиям, содержащимся в объектной модели Word.

Хотите создавать решения, которые расширяют возможности Office на разнообразных платформах? Ознакомьтесь с новой моделью надстроек Office.

См. также

  • Перечисления Слов
  • Начало работы с VBA в Office: узнайте, как настраивать приложения Office с помощью VBA.
  • Новые возможности VBA в Office 2019: список новых элементов языка VBA для Office 2019.
  • Новые возможности VBA в Office 2016: приводит список новых элементов языка VBA для Office 2016.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Обратная связь

Были ли сведения на этой странице полезными?

Источник: learn.microsoft.com

Что такое VBA

Основные объекты текстового процессора word которые используются в программах на vba

Свойства любого объекта делятся на две группы: свойства-участники (объекты) и терминальные свойства (обычные переменные Visual Basic). Свойства-участники Word.Application приведены в таблицах 1.1 и 1.2. Там они были перечислены, сейчас мы рассмотрим их чуть более подробно. Но вначале несколько слов о более простой группе терминальных свойств.

Терминальные свойства
  • Свойства Top , Left , Heihgt , Width , Caption определяют размеры и заголовок окна приложения.
  • Свойства, начинающиеся с префикса User, — UserAddress , UserName и другие задают характеристики пользователя.
  • Группа булевых свойств, начинающихся с префикса Display , — DisplayScreenTips , DisplayStatusBar и другие позволяют включать или выключать отображение на экране тех или иных элементов интерфейса.
  • Группа свойств, начинающихся префиксом Default — DefaultSaveFormat , DefaultTableSeparator позволяет устанавливать некоторые характеристики, используемые приложением по умолчанию.
  • Группа булевых свойств, использующих суффикс Available — MAPIAvailable , MouseAvailable , MathCoprocessorAvailable устанавливают доступность некоторых устройств.
  • Другие свойства — булевы и не булевы задают другие многочисленные характеристики, например, CapsLock и NumLock позволяют определить, нажаты ли на клавиатуре соответствующие клавиши, Path — путь к каталогу, содержащему Word, ActivePrinter — активный принтер и так далее.

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

Public Sub WorkWithTerm() ‘Работа с терминальными свойствами ‘Выключаю опции Application. DisplayStatusBar = False Application. DisplayRecentFiles = False End Sub

Изменяя терминальные свойства DisplayStatusBar и DisplayRecentFiles , я выключил панель статуса и показ в меню File файлов последнего использования. Убедившись в том, что они действительно выключились, я немедленно включил их уже руками, взведя соответствующие флажки в меню Tools|Options.

Читайте также:
Аваст блокирует все программы

Переменные и типы данных в VBA — Новый курс VBA (3)

Рассмотрю подробнее лишь одно терминальное свойство, не столь тривиальное и отличающееся по своему духу от других свойств. Свойство IsObjectValid (obj As Object) и свойством назвать нельзя. Скорее это метод, аргументом которого является некоторый объект произвольного класса, а возвращаемое значение булевого типа показывает, существует ли объект, заданный аргументом метода (свойства). Это свойство полезно применять при работе, например, с коллекциями. Прежде чем начинать работу с тем или иным элементом коллекции, полезно проверить, а существует ли такой элемент, или, возможно, он уже был удален. Вот пример работы с этим свойством:

Заметьте, при работе с этим свойством я использую созданный мной объект SecondDoc , поскольку не могу написать IsObjectValid (Documents(«DocTwo»)). Написать то, конечно, могу, но при выполнении возникнет ошибка. Ошибка не связана с самой функцией IsObject , — она возникнет раньше при вычислении значения аргумента — Documents («DocTwo»), поскольку в коллекции Documents этот элемент

Свойства — участники

Конечно, центральные объекты мира Word — это объекты, входящие в коллекции Documents и Templates , документы и шаблоны, открытые в приложении. Им-то и посвящена большая часть этой лекции. Но пока давайте хотя бы кратко коснемся объектов «второго плана».

Заголовки (CaptionLabels)

Коллекция объектов CaptionLabels (CaptionLabel) представляет заголовки, которые вставляются в документ одновременно со вставкой таблиц, рисунков, диаграмм и других подобных элементов документа. Следует отметить, что при вставке в документ каждого нового элемента определенного типа и его заголовка происходит автоматическая нумерация заголовков, (например, Рисунок 1, Рисунок 2 и т.д.).

В коллекцию разрешается добавлять новые заголовки и удалять существующие. При работе вручную следует выбрать в пункте Insert (Вставка) главного меню Word команду Caption (Название). В открывающемся диалоговом окне есть раскрывающийся список заголовков, из которого можно выбрать подходящий элемент и вставить его в документ. Кнопка New Label (Создать) позволяет добавить новый заголовок к уже имеющемуся списку. Кнопка Delete (Удалить) позволяет удалить заголовок. Вот как выглядит это окно:

Рис. 1.4. Окно заголовков

Работа руками нас интересует в малой степени, хотя, конечно, программист должен уметь это делать. Но давайте посмотрим, как это делается программно. Вначале добавим к существующей коллекции заголовков три своих заголовка:

Читайте также:
Как перезапустить программу на компьютере

Public Sub AddCaptions() ‘Работа с коллекцией заголовков Dim Item As CaptionLabel With CaptionLabels Debug.Print .Count ‘Добавление трех заголовков .Add «Мой Рисунок» .Add «Диаграмма Excel» .Add «Мой Пример» Debug.Print .Count For Each Item In CaptionLabels Debug.Print Item .Name Next Item ‘Удаление последнего заголовка .item(.Count).Delete End With End Sub

Вот результаты отладочной печати, появляющиеся в окне отладки (Immediate):

Этот пример типичен для работы с коллекциями. Здесь добавляются и удаляются элементы коллекции, определяется их число, организуется цикл по всем элементам. Покажем теперь, как, используя эту коллекцию, можно программно вставлять в текст документа в нужном месте те или иные заголовки:

Public Sub InsertLabelInDoc() ‘Вставка заголовка в текст документа ‘Вставка заголовков With ActiveDocument .Paragraphs.Add .Paragraphs.Last.Range.Select Selection.InsertCaption Label:=»Диаграмма Excel» .Paragraphs.Add .Paragraphs.Last.Range.Select Selection.InsertCaption Label:=CaptionLabels(CaptionLabels.Count) End With End Sub

В данном примере дважды будет вставлен заголовок «Диаграмма Excel». Конечно, реально этот заголовок следует вставлять после (перед) соответствующей диаграммой, но в примере заголовки вставляются в конец документа, в последний его абзац. Заметьте, при вставке происходит автоматическая нумерация заголовков, так что в тексте документа появятся два таких заголовка:

Автозаголовки (AutoCaptions)

Коллекция объектов AutoCaptions (AutoCaption) представляет заголовки, которые могут быть автоматически добавлены при вставке в документ OLE-объектов. В эту коллекцию, конечно же, ни добавлять, ни удалять элементы не разрешается, но можно включить или отключить автоматическое добавление заголовка при вставке того или иного OLE-объекта. Работа вручную идет в уже упомянутом диалоговом окне, открываемом по команде Caption . Программно это можно делать так:

Public Sub >WorkWithAutoLabels() ‘Работа с коллекцией автозаголовков Dim Item As AutoCaption Debug.Print AutoCaptions.Count For Each Item In AutoCaptions ‘Включение автоматической вставки заголовка item.AutoInsert = True Debug.Print Item .Name Next Item End Sub

Процедура WorkWithAutoLabels включает все автозаголовки и распечатывает их имена. Приведем первую семерку имен OLE-объектов из 28 объектов, которые можно добавить в текущий момент у меня на компьютере:

Автокоррекция (AutoCorrect)

Объект AutoCorrect поддерживает работу по автоматической коррекции набираемых текстов. Я широко использую возможности автокоррекции в своей работе. Чтобы не переключаться с русского на английский при печатании различных терминов, я ввел таблицу соответствующих замен. Теперь я печатаю «Ап», а получаю Application , печатаю «Во», а получаю Word и так далее.

Возможности объекта AutoCorrect во многом совпадают с возможностями команды AutoCorrect (Автозамена) меню Tools. В следующем примере включаются все флажки, регулирующие процесс замены, и в коллекцию Entries , вложенную в объект, добавляются два элемента. Каждый элемент задается парой строк, первая из которых задает исходную строку, а вторая строку, заменяющую ее при автокоррекции печатаемого текста:

Читайте также:
Какая программа воспроизводит видео в браузере

Public Sub WorkWithAutoCorrect() ‘Работа с объектом AutoCorrect ‘Включаются все флажки With AutoCorrect .CorrectInitialCaps = True .CorrectSentenceCaps = True .CorrectDays = True .CorrectCapsLock = True .ReplaceText = True .ReplaceTextFromSpellingChecker = True .CorrectKeyboardSetting = True ‘В коллекцию Entries, задающую замены при автокоррекции, ‘добавляются два элемента. .Entries.AddName:=»ДЕ», Value:=»Диаграмма Excel» .Entries.AddName:=»ГЕ», Value:=»График Excel» End With End Sub

Перемещение по тексту. Объект Browser

Объект Browser позволяет перемещать точку вставки, указывающую на объекты в документе. Перейти можно к предыдущей или следующей точке редактирования документа. Можно также предварительно выбрать целевой объект, это может быть таблица, заголовок, комментарий или другой из некоторого набора возможных объектов, а затем переходить к следующему или предыдущему объекту выбранного типа. Вручную это делается с помощью трех инструментальных кнопок, расположенных в самом низу вертикальной полосы прокрутки окна документа. Покажем, как программно, перемещаясь по заголовкам, можно помочь пользователю найти в документе нужный ему заголовок. Вот соответствующая процедура:

Источник: citforum.ru

VBA в Word Обзор объектной модели Word

Общая структура объектов Word выглядит так, как показано на рис. 10.1.

Рис. 10.1 Так выглядят главные объекты Word

Но пугаться совсем не стоит — большая часть из этих сотен объектов никогда вам не понадобится. На практике для решения большинства программных задач достаточно знать всего лишь пять объектов (с сопутствующими коллекциями):

  • объект Application;
  • объект Document (с коллекцией Documents);
  • объект Selection;
  • объект Range;
  • >объект Bookmark (с коллекцией Bookmarks).

Ниже все эти самые важные объекты будут подробно рассмотрены. Для каждого объекта вначале будут рассмотрены общие моменты, связанные с ними, например, в каких ситуациях они нужны и как при помощи них выполнять те или иные действия. Поскольку наиболее часто встречающаяся задача программирования в Word — это создание документа (на основе шаблона) и запись в нужное место документа необходимой информации, то акцент будет сделан использовании соответствующих объектов для решении этой задачи.

Кроме того, для каждого объекта будут перечислены самые важные свойства, методы и события с кратким их описанием. Эта часть добавлена по просьбе слушателей учебного курса по программированию в Office, поскольку многие из них не владеют английским так, чтобы свободно читать документацию. Если вы читаете эту книгу подряд, то эти справочные части можно просто пропускать.

Источник: vbastudio.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru