Выбрать главу

ActiveWindow.DocumentMap = True

Используйте подобные инструкция для включения или выключения различных свойств, таких как DisplayScreenTips или DisplayVerticalScrollBar. He забывайте о том, что ключевое слово Not обращает текущее значение логической переменной или свойства. Вот пример изменения значения свойства:

ActiveWindow.Displ ayRul es = _

Not ActiveWi ndow.DisplayRules

Свойства Left, Top, Height и Width позволяют вам определять размер и расположение окна, которое не развернуто на весь экран.

Использование объекта View

Вспомогательный объект View определяет многие аспекты отображения окна или области. Объект View обладает следующими свойствами.

Свойство объекта View

Для чего предназначено

Туре

Соответствует выбору из меню Вид таких команд, как Обычный, Разметка страницы, Структура и т. д. Для изменения представления используйте в качестве значения свойства одну из следующих констант: wdMasterView,wdNormalView,wdOutlineView, wdPrintView, wdWebView или wdPrintPreview. Например, инструкция ActiveWindow. View. Type = wdPrintView переключает активное окно в режим предварительного просмотра

Full screen

Контролирует отображения окна в стандартном или полноэкранном варианте

Table Gridlines

Определяет отображение сетки таблицы

ShowAll, Show

Свойство ShowAll определяет отображение всех непечатаемых знаков, что соответствует флажку Все в группе Знаки форматирования на вкладке Вид диалогового окна Параметры. Вы можете включить или отключить отображение отдельных непечатаемых символов, а также других элементов, таких как выделение текста или границы, используя различные свойства, названия которых начинаются с Show, в частности ShowBookmarks или ShowHighlight

Масштабирование документа с помощью программного кода

Для управления параметрами увеличения документа вам необходимо немного углубиться в иерархию объектов, чтобы добраться до объекта Zoom, а затем изменить значение его свойства Percentage. Соответствующий пример приведен ниже:

ActiveWindow.View.Zoom.Percentage = 135

Если вы хотите задать новый масштаб документа для представления, которое в данный момент не используется, включите константу в качестве аргумента свойства View для этого представления, как показано ниже:

ActiveWindow.View.Zoom.Percentage = 75

Когда пользователь в следующий раз выберет соответствующее представление документа, последний сразу предстанет в указанном вами масштабе.

Кроме того, вы можете использовать свойство PageFit объекта Zoom для дублирования команд По ширине страницы или Страница целиком из раскрывающегося меню Масштаб на панели инструментов. При активной любой из этих настроек Word автоматически изменяет масштаб документа при изменении размеров окна, всегда сохраняя указанную вами пропорцию. Например, следующая инструкция эквивалентна команде По ширине страницы из раскрывающегося меню Масштаб на панели инструментов:

ActiveWindow.View.Zoom.PageFit = wdPageFitBestFit

Команда Страница целиком доступна только в режиме разметки страницы, но вы можете продублировать ее с помощью приведенного ниже кода:

Windows("Documentl").View.Zoom.PageFit = _ wdPageFitFullPage

Для отключения функции автоматического масштабирования присвойте свойству PageFit значение wdPageFit None.

В Word VBA объект Selection означает любой выделенный элемент в области окна.

Да-да, объект Selection относится к области окна, а не документа. Документ может содержать больше одного открытого окна, а каждое окно - несколько областей, поэтому каждая из этих областей может содержать выделения. (Хотя чисто технически объект Selection принадлежит области окна, ничто не мешает вам считать его принадлежащим окну, если только вам не нужно работать с выделением в определенной области окна, например в нижнем или верхнем колонтитуле).

Хотя вы можете манипулировать выделенными областями с помощью VBA-кода, используя объект Selection, часто гораздо удобнее оказывается использовать объект Range.

Подробно об использовании этих объектов мы поговорим в разделе "Работа с текстом в Word VBA" дальше в настоящей главе.

Содержимое выделенной области может быть фрагментом текста, таблицей, текстовым окном, изображением или чем-нибудь другим, что можно выделить с помощью мыши и клавиатуры. Запомните: если ничего не выделено, объект Selection представляет текущее расположение точки вставки.

Хотя каждая область окна содержит выделение, вам необходимо только явно обратиться к целевому окну, если интересующее вас выделение не находится в главной области активного окна. Для работы с выделенной частью в главной области активного окна вам следует использовать объект Selection. Например, вы можете использовать приведенную ниже инструкцию для замены выделения в области активного окна текстом, заключенным в кавычки:

Selection.Text = "У моей собаки есть блохи"

Если вам необходимо работать с выделенной областью в одном из неактивных окон, вы должны полностью указать имя окна: documents("Songs.doc").Windows(2).Selection.Text = _

"Моя возлюбленная отдыхает на берегу океана"

Поскольку объект Selection может представлять содержимое различных типов, всегда лучше всего сначала проверить, данные какого вида были выделены, прежде чем с ними что-то делать. В противном случае вы рискуете получить неожиданные результаты или даже сообщения об ошибках. Для поиска подобных сведений используйте свойство Туре объекта Selection. Например, приведенный ниже фрагмент кода проверяет, является ли выделенная область обычным текстом, прежде чем вырезать ее в буфер обмена:

With Selection

If -Type = wdSelecti onNormal Then

.Cut

End If

Вы можете использовать при подобных проверках константы, перечисленные ниже.

Константа

Что выделено

wdNoSelection

Ничего не выбрано

wdSе1еctionB1оск

Вертикальный блок текста

wdSelectionColumn

Столбец в таблице

wdSelectionFrame

Рамка

wdSelectionInlineShape

Графическое изображение в тексте

wdSelесtiоnIP

Только точка вставки

wdSelectionNormal

Обычное выделение фрагмента текста

wdSelectionRow

Строка таблицы

wdSelectionShape

Изображение, не помещенное в текст

Знакомство с объектами Range

Если вы редактируете документ самостоятельно, вы должны поместить указатель мыши в нужное место либо выделить определенный фрагмент, прежде чем добавлять, удалять или форматировать текст. Однако в Word объекты Range избавляют вас от подобной необходимости. Объект Range определяет неразрывный блок текста в документе. Объекты Range полностью независимы от точки вставки или выделенного раздела, которые пользователь видит в окне документа. После создания объекта Range вы сможете манипулировать текстом, используя команды VBA, полные аналоги мощных команд редактирования Word, точно так же, как при использовании объектов Selection.

Вы можете определить объекты Range в программном коде одним из двух следующих способов:

* работая с диапазонами с помощью свойства Range;