Масштабирование документа с помощью программного кода
Масштабирование документа с помощью программного кода
Для управления параметрами увеличения документа вам необходимо немного углубиться в иерархию объектов, чтобы добраться до объекта 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
Изображение, не помещенное в текст