Коллекция Word Windows и объекты Window - работа с окнами MS Word
Опубликовано: 14.10.2018
Всем привет, с вами автор блога scriptcoding.ru. В этой статье мы рассмотрим коллекцию Windows и объекты Window, которые предоставляют окно Microsoft Word документа.
Как мы помним из прошлых статей, для создания нового документа в первую очередь нужно получить ссылку на объект Word.Application , а уже далее, с помощью метода Add коллекции Documents мы можем создать новый документ. Кроме того, у нас есть выбор: создать несколько документов, которые будут непосредственными наследниками класса Application, или – создать несколько экземпляров Word.Application и от них создавать документы.
Как в документ Word 2013 вставить обновляемое время
Доступ к коллекции Windows можно получить двумя способами, используя свойство Windows таких классов как:
Word.Application – В данном случаем мы получим доступ ко всем окнам программы Word. Word.Document – Тут мы получаем доступ к окнам MS Word только для заданного документа.Далее по ходу статьи будет упоминаться режим Side-By-Side – это режим, когда в одной области экрана отображаются два окна Microsoft Word документа параллельно друг другу.
C# работа с datagridview, сохранение данных в файл (Нормальный звук)
Коллекция Windows – окна программы Word
Коллекция объектов Window, которые представляют все имеющиеся окна MS Word, для класса Application содержит все окна в программе Word , а для класса Document - только окна MS Word , которые отображаются указанным документом.
Свойства и методы
Count – Содержит количество объектов Window.
Add (Window) - Возвращает объект Window, представляющий новое окно программы Word.
Window – Данный параметр содержит объект Window, для которого вы хотите открыть еще одно окно документа Word. Если этот аргумент опущен, открывается новое окно MS Word редактора для активного документа.
Например:
Windows.Add Window:=Documents( "MyDoc.doc" ).Windows(1) oWord.Windows.Add oDoc(1).Windows(1) |
Arrange (ArrangeStyle) – Определяет параметры расположения. Параметр ArrangeStyle содержит значение константы WdArrangeStyle:
wdIcons - 1 - В виде иконок в одном окне. wdTiled - 0 – Все в одном окне.CompareSideBySideWith (Document) – Позволяет открыть две области в режиме Side-By-Side.
Document – Второй документ для просмотра.
BreakSideBySide () – Метод отменяет режим Side-By-Side для просмотра двух документов, если такой был активирован.
ResetPositionsSideBySide () - Метод сбрасывает режим Side-By-Side для двух документов, если они находятся в режиме предварительного просмотра.
Item (index) - Возвращает отдельный объект Window в коллекции Windows по его номеру (index).
Класс Window – окно Microsoft Word
Свойства
Active – Значение true, если указанное окно является активным. Только чтение.
Caption - Возвращает или задает текст заголовка, который отображается в строке заголовка документа или приложения.
Свойства с префиксом Display позволяют управлять линейками и полосами прокрутки. Свойства задают или возвращают логические значения true или false, и доступны как для чтения, так и для записи.
DisplayHorizontalScrollBar , DisplayVerticalScrollBar , DisplayLeftScrollBar - Данные свойства позволяют включить (true) или отключить (false) горизонтальную, вертикальную или левую полосу прокрутки.
DisplayRulers – Скрыть или показать линейку.
DisplayVerticalRuler - Скрыть или показать вертикальную линейку.
DisplayRightRuler – Значение true, если в правой части окна MS Word документа в режиме предварительного просмотра появляется вертикальная линейка.
DisplayScreenTips – Значение true, если комментарии, сноски, примечания и ссылки отображаются в виде подсказок.
DocumentMap – Значение true, если отображается схема документа. Чтение и запись.
EnvelopeVisible - TRUE, если заголовок почтового сообщения видно в окне документа Word. Значение по умолчанию False. Чтение и запись.
Height и Width – Свойства возвращают или задают высоту или ширину окна Microsoft Word в пунктах.
Hwnd - Возвращает дескриптор заданного окна программы Word. Только чтение.
Index - Возвращает позицию элемента Window в коллекции Windows. Только чтение.
Next и Previous - Свойства возвращают ссылки на следующий или предыдущий объект Window в коллекции Windows.
UsableHeight и UsableWidth – Высота и ширина рабочей области в пунктах. Только чтение.
WindowState - Возвращает или устанавливает состояние указанного окна программы Word. Значение константы WdWindowState:
wdWindowStateMaximaze – 1 - максимизировать размер. wdWindowStateMinimize 2 - минимизировать размер. wdWindowStateNormal – 0 - обычный размер.Split – Если значение true, то окно будет разделено на несколько панелей. Чтение и запись.
SplitVertical - Возвращает или задает размер сплит-панели в процентах.
Left и Top - Свойства возвращают или устанавливают горизонтальное и вертикальное положение окна Microsoft Word. Они актуальны только тогда, если окно документа Word не находится в развернутом виде.
Type - Возвращает тип окна MS Word. Значение константы WdWindowType:
wdWindowDocument - 0 - окно документа Word. wdWindowTemplate - 1 - окно шаблона Word.VerticalPercentScrolled - Возвращает или устанавливает позицию прокрутки по вертикали в процентах от длины документа.
Visible – Позволяет показать (true) или скрыть (false) заданное окно программы Word.
WindowNumber - Возвращает номер окна Microsoft Word, отображаемого в указанном документе. Например, если заголовок "Документ1.doc: 2", то это свойство возвращает номер 2. Только чтение.
Panes - Возвращает коллекцию Panes , которая представляет все панели для заданной области.
Document - Возвращает класс Document , связанный с указанной панелью, окном MS WORD, или выделением. Только чтение.
ActivePane - Возвращает класс Pane , представляющий активную панель для указанного окна Microsoft Word программы. Только чтение.
Selection - Возвращает класс Selection , представляющий выбор или точку вставки. Только чтение.
View - Возвращает класс View , представляющий просмотр для указанного окна или панели.
Методы
Activate () - Активизирует указанное окно документа Word.
Close (SaveChanges, RouteDocument) - Закрывает указанное окно программы Word. Оба параметра являются дополнительными.
SaveChanges - Определяет, действия при сохранении документа. Значение константы WdSaveOptions:
wdDoNotSaveChanges - 0 - Не сохранять сделанные изменения. wdPromptToSaveChanges - 2 - Запросить у пользователя, чтобы сохранить внесенные изменения. wdSaveChanges - 1 - Сохранить сделанные изменения автоматически без запроса пользователя.RouteDocument - TRUE, чтобы направить документ к следующему получателю.
LargeScroll (Down, Up, ToRight, ToLeft) - Прокрутка окна или панели на указанное число экранов. Все параметры дополнительные и должны содержать числовые значения.
Down - Значение для прокрутки вниз.
Up – Значение для прокрутки вверх.
ToRight - Значение для прокрутки вправо.
ToLeft - Значение для прокрутки влево.
SmallScroll (Down, Up, ToRight, ToLeft) - Прокрутка окна документа Word или панели на указанное число строк.
PageScroll (Down, Up) - Прокрутка указанной панели или окна программы Word построчно.
Down - Количество страниц для прокрутки вниз. По умолчанию значение 1.
Up - Количество страниц для прокрутки вверх.
ScrollIntoView (obj, start) - Прокрутка окна MS WORD на указанный диапазон или форму.
Obj – Обязательный параметр, который является объектом Range или Shape .
Start – Принимает логические значения true или false. Параметр определяет направление прокрутки относительно выбора или формы. Дополнительно.
NewWindow () - Открывает новое окно MS Word. Возвращает объект Window.
ToggleRibbon () – Показывает (true) или скрывает (false) панель с компонентами.
И так, с теоретической частью мы закончили, теперь настало время приступить к программированию, мы рассмотрим примеры на языке VBScript и JScript .
Пример на языке VBSCRIPT:
' ---------------------------------------------------------------------------- ' Коллекция Windows и классы Window ' работа с окнами редактора Word ' Window.vbs ' ---------------------------------------------------------------------------- Option Explicit dim oWord, oDoc, i, MyText, oSel Set oWord = CreateObject ("Word.Application" ) Set oDoc = oWord.Documents oDoc.Add() oDoc.Add() Set oSel = oWord.Selection oWord.Visible = True MyText = "Окно Word документа. " For i=0 to 40 oSel.TypeText MyText & MyText & MyText & MyText & MyText & MyText & MyText oSel.TypeParagraph Next call oWindow_1 'call oWindow_2 'call oWindow_3 'call oWindow_4 Sub oWindow_1() oDoc(1).Windows.Add ' создаем новое MS Word окно для документа oDoc(1) oWord.Windows.Arrange 0 ' все MS Word окна расположены в одной области End Sub Sub oWindow_2() oDoc(2).Activate ' активируем документ oDoc(2) oDoc(2).Windows.CompareSideBySideWith oDoc(1) ' размещаем два документа в режиме Side-By-Side End Sub Sub oWindow_3() oDoc(1).Windows(1).Split= true ' добавляем разделитель oDoc(1).Windows(1).SplitVertical = 80 ' задаем соотношение размер разделителя в 80 процентов End Sub Sub oWindow_4() oDoc(1).Windows(1).WindowState = 0 ' обычный размер oDoc(1).Windows(1).Left = 15 ' отступ слева oDoc(1).Windows(1).Top = 30 ' отступ сверху oDoc(1).Windows(1).VerticalPercentScrolled = 70 ' вертикальна прокрутка на 70 процентов End Sub |
Пример на языке JSCRIPT:
// ---------------------------------------------------------------------------- // Коллекция Windows и классы Window // работа с окнами программы Word // Window.vbs // ---------------------------------------------------------------------------- var oWord1 , oDoc1 , i , MyText1 , oSel1 ; oWord1 = WScript. CreateObject ( "Word.Application" ) ; oDoc1 = oWord1. Documents ; oDoc1. Add ( ) ; oDoc1. Add ( ) ; oSel1 = oWord1. Selection ; oWord1. Visible = true ; MyText1 = "Окно Word программы. " ; for ( i= 0 ; i <= 40 ; i ++ ) { oSel1. TypeText ( MyText1 + MyText1 + MyText1 + MyText1 + MyText1 + MyText1 + MyText1 ) ; oSel1. TypeParagraph ( ) ; } oWindow_1 ( ) //oWindow_2() //oWindow_3() //oWindow_4() function oWindow_1 ( ) { oDoc1 ( 1 ). Windows .Add ( ) ; // создаем новое MS Word окно для документа oDoc1(1) oWord1. Windows .Arrange ( 0 ) ; // все MS Word окна расположены в одной области } function oWindow_2 ( ) { oDoc1 ( 2 ). Activate ( ) ; // активируем документ oDoc1(2) oDoc1 ( 2 ). Windows .CompareSideBySideWith ( oDoc1 ( 1 ) ) ; // размещаем два документа в режиме Side-By-Side } function oWindow_3 ( ) { oDoc1 ( 1 ). Windows ( 1 ) .Split = true ; // добавляем разделитель oDoc1 ( 1 ). Windows ( 1 ) .SplitVertical = 80 ; // задаем соотношение размер разделителя в 80 процентов } function oWindow_4 ( ) { oDoc1 ( 1 ). Windows ( 1 ) .WindowState = 0 ; // обычный размер oDoc1 ( 1 ). Windows ( 1 ) .Left = 15 ; // отступ слева oDoc1 ( 1 ). Windows ( 1 ) .Top = 30 ; // отступ сверху oDoc1 ( 1 ). Windows ( 1 ) .VerticalPercentScrolled = 70 ; // вертикальна прокрутка на 70 процентов } |
В данных примерах все довольно просто. Вначале происходит стандартная схема – создание ссылки на объект Word.Application и создание нового документа. Тут я создал два документа: oDoc(1) и oDoc(2) . Далее происходит объявление четырех процедур (функций), давайте их рассмотрим:
oWindow_1 – Тут мы просто создаем новое Microsoft Word окно для документа, доступ к которому хранится в переменной oDoc(1). Плюс, все документы и созданное MS Word окно будут размещаться в одной области.
oWindow_2 – Тут происходит активация документа oDoc(2). Далее мы размещаем в режиме Side-By-Side документы oDoc(1) и oDoc(2).
oWindow_3 – Тут мы просто добавляем разделитель для окна Word программы oDoc(1). Соотношение разделенных частей будет 20:80.
oWindow_4 – Тут все просто, делаем параметры просмотра нормальными, и устанавливаем отступы и положение левой прокрутки.