Поделиться через


Концептуальные различия между WordBasic и Visual Basic

Основное различие между Visual Basic для приложений (VBA) и WordBasic заключается в том, что в то время как язык WordBasic состоит из плоского списка примерно из 900 команд, Visual Basic состоит из иерархии объектов, каждый из которых предоставляет определенный набор методов и свойств (аналогичный операторам и функциям в WordBasic). Хотя большинство команд WordBasic можно выполнять в любое время, Visual Basic предоставляет только методы и свойства доступных объектов в данный момент времени.

Объекты являются основными стандартными блоками Visual Basic; Почти все, что вы делаете в Visual Basic, включает изменение объектов. Каждый элемент Word, например документы, абзацы, поля и закладки, может быть представлен объектом в Visual Basic. В отличие от команд в неструктурированном списке, есть объекты, доступ к которым можно получить только из других объектов. Например, доступ к объекту Font можно получить из различных объектов, включая объекты Style, Selection и Find .

Задача программирования применения полужирного форматирования демонстрирует различия между двумя языками программирования. В следующей инструкции WordBasic к выделенному фрагменту применяется полужирное форматирование.

Bold 1

Следующий пример является эквивалентом Visual Basic для применения полужирного форматирования к выделенному фрагменту.

Selection.Font.Bold = True

Visual Basic не включает оператор и функцию Bold . Вместо этого имеется свойство Bold . (Свойство обычно является атрибутом объекта, например его размер, цвет или полужирный шрифт.) Полужирный — это свойство объекта Font . Аналогичным образом Font является свойством объекта Selection , который возвращает объект Font . Следуя иерархии объектов, можно создать инструкцию для применения полужирного форматирования к выделенному фрагменту. Свойство Bold — это логическое свойство для чтения и записи. Это означает, что для свойства Bold можно задать значение True или False (включено или выключено), либо можно вернуть текущее значение. Следующая инструкция WordBasic возвращает значение, указывающее, применяется ли к выделенному фрагменту полужирное форматирование.

x = Bold()

В следующем примере используется эквивалент Visual Basic для возврата состояния полужирного форматирования из выделенного фрагмента.

x = Selection.Font.Bold

Процесс мышления в Visual Basic

Для выполнения задачи в Visual Basic необходимо определить соответствующий объект. Например, если вы хотите применить форматирование символов в диалоговом окне Шрифт , используйте объект Font . Затем необходимо определить, как выполнить детализацию по иерархии объектов Word от объекта Application до объекта Font , а также по объектам, содержащим объект Font , который требуется изменить. Определив путь к объекту (например, ), используйте обозреватель объектов, справку или такие функции, как автопись членов в редакторе Visual Basic, чтобы определить, какие свойства и методы можно применить к объекту. Дополнительные сведения о детализации до объектов с помощью свойств и методов см. в разделе Общие сведения об объектах, свойствах и методах.

Свойства и методы часто доступны для нескольких объектов в иерархии объектов Word. Например, следующая инструкция применяет полужирное форматирование ко всему документу.

ActiveDocument.Content.Bold = True

Кроме того, сами объекты часто находятся в нескольких местах в иерархии объектов.

Объекты Selection и Range

Большинство команд WordBasic изменяет выбор. Например, команда Полужирный шрифт форматирует выделение полужирным шрифтом. Команда InsertField вставляет поле в точку вставки. Если вы хотите работать с выделенной областью в Visual Basic, используйте свойство Selection , чтобы вернуть объект Selection . Выделение может быть блоком текста или просто точкой вставки.

В следующем примере Visual Basic текст и новый абзац вставляется после выделения.

Selection.InsertAfter Text:="Hello World" 
Selection.InsertParagraphAfter

Помимо работы с выделенным фрагментом, вы можете определять различные диапазоны текста в документе и работать с ними. Объект Range относится к смежным областям в документе с начальной и конечной позицией символов. Как и закладки в документе, объекты Range используются в Visual Basic для идентификации частей документа. Однако, в отличие от закладки, объект Range невидим для пользователя, если диапазон не выбран с помощью метода Select . Например, можно использовать Visual Basic для применения полужирного форматирования в любом месте документа без изменения выделенного фрагмента. В следующем примере к первым 10 символам активного документа применяется полужирное форматирование.

ActiveDocument.Range(Start:=0, End:=10).Bold = True

В следующем примере к первому абзацу применяется полужирное форматирование.

ActiveDocument.Paragraphs(1).Range.Bold = True

Оба этих примера изменяют форматирование в активном документе без изменения выделенного фрагмента. Дополнительные сведения об объекте Range см. в разделе Работа с объектами Range.

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

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