3.2. Объекты word, их свойства и методы.
Visual Basic поддерживает набор объектов, соответствующих элементам Microsoft Word 2000. Методы и свойства этих объектов позволяют автоматизировать все операции в Word. Модель объектов Microsoft Word 2000 включает около 180 объектов. Полную схему модели объектов можно просмотреть в разделе «Microsoft Word Objects» справочной системы. Наиболее быстрый способ получения подробного описания конкретного объекта — щелкнуть по его имени на схеме модели объектов. Однако из всего многообразия объектов Word практически небольшая их часть наиболее часто используема. Модель наиболее часто используемых объектов и связь между ними показана на рис. 3.2. При открытии Word становиться доступным корневой объект Application, определяющий само приложение и все, встроенные в него объекты, задающие различные компоненты Word. Рассмотрим наиболее важные классы объектов. Caracters(Range) Tables(Table) Range Words(Range) Shapes(Shape) Sentences(Range) InlineShapes(InlineShape) Paragraphs(Paragraph) Fields(Field) Sections(Section) Рис. 3.2.Фрагмент объектной модели Word
3.2.2.Объект Appication
Объект Appication – само приложение MS WORD в целом. Он создается при запуске Word. Через свойства и методы этого объекта можно получить доступ к глобальным параметрам приложения, управлять внешним видом окна Word и обращаться к объектам, занимающим более низкие уровни в модели объектов Word. Объект Application имеет более сотни элементов: свойств, методов и событий. Как уже говорилось выше, свойства любого объекта делятся на две группы: свойства – участники (объекты) и терминальные свойства (обычные переменные VBA). Свойство- участник, представляющий собой вложенный объект, возвращает ссылку на данный объект. В объекте Application более 30 коллекций и простых объектов. Среди них наибольший интерес представляют: Documents(Document) – коллекция документов Word, содержащая все открытые документы; Templates(Template) – коллекция шаблонов Word, содержащая все открытые шаблоны; Windows(Window) – коллекция, содержащая все открытые окна; Selection – объект, задающий выделенную область; Options – объект, позволяющий программным путем установить параметры приложения и документа. Среди многообразия методов объекта Application целесообразно выделить те, которые позволяют выполнять операции над приложением в целом: Activate – активизация приложения, Quit – выход из приложения и осуществлять запуск макросов: Run – запуск макроса и OnTime – запуск макроса в заданное время.
3.2.3. Объект Document
Объект Document представляет собой новый или созданный ранее открытый документ. При запуске Word создается коллекция открытых документов Documents, содержащая как минимум один объект Document. Создавая новый или открывая ранее созданный файл, в коллекцию добавляется объект Document. Получить доступ к нужному объекту Document коллекции можно выражением: Documents (index), Где index – имя файла или номер документа в коллекции объектов Documents. Через свойства и методы объекта Document и коллекции Documents можно создавать, открывать, активизировать и закрывать документы. Рассмотрим на примерах некоторые свойства методы, позволяющие выполнять эти операции над документами. К свойствам объекта Document относятся: Count – количество открытых в данный момент документов; ActiveDocument – активный документ. Пример 3.3:
‘процедура выводит в окно отладки имена всех открытых документов Public Sub pr33() Dim kol As Byte Kol = Documents.Count If kol >= 1 Then For i = 1 To kol: Debug.Print Documents(i).Name: Next Else MsgBox «Нет открытых документов» End If End Sub |
Пример 3.4:
‘процедура выводит в диалоговое окно имя активного документа Public Sub pr34() If Documents.Count >= 1 Then MsgBox ActiveDocument.Name Else MsgBox «Нет открытых документов» End If End Sub |
Основные методы объекта Document и коллекции Documents: Open – открывает файл, содержащий существующий документ и автоматически добавляет его в коллекцию; Add – добавляет новый пустой документ; Save – сохраняет изменения в существующем документе без закрытия; SaveAs (только для объекта) – сохраняет активный вновь созданный документ в текущей папке; Item – позволяет получить доступ к элементу коллекции; Activate (только для объекта) – активизирует открытый документ; PrintOut (только для объекта) – печать документа; Close – закрывает документ. Пример 3.5
‘процедура, используя метод Open, возвращает объект Document, ‘представляющий только что открытый документ Metvba.doc, выводит ‘его имя и закрывает Public sub pr35() Set mydoc = _ Documents.Open(FileName:=»d:\Met_mat\му_0719\Metvba.doc») MsgBox mydoc.Name Mydoc.Close End Sub |
Пример 3.6:
‘Процедура перебирает коллекцию Documents в поисках документа ‘Metvba.doc. Если он уже открыт, то активизирует его, в ‘противном случае – открывает Public sub pr36() For Each mydoc In Documents If InStr(1, mydoc.Name, «Metvba.doc») Then mydoc.Activate w = True Exit For Else w = False End If Next mydoc If w = False Then Documents.Open FileName:=»d:\Met_mat\му_0719\Metvba.doc» End If End Sub |
Пример 3.7:
‘процедура после вывода имен открытых документов закрывает их Public Sub pr37() If Documents.Count >= 1 Then For i = 1 To Documents.Count: Debug.Print Documents(i).Name: Next Documents.Close End If End Sub |
Пример 3.8:
‘Процедура закрывает документ Metvba.doc без сохранения Public pr38() Documents(“Metvba.doc “).Close SaveChanges:=wdDoNoSaveChanges End Sub |
Документ Word организован довольно сложно. Текст документа может быть дополнен таблицами, рисунками, документ может содержать колонтитулы, сноски, ссылки и т.д. Свойства-участники объекта Document позволяют получить доступ к 44 вложенным объектам, большинство из которых являются коллекциями. Рассмотрим некоторые из них, объединив объекты в группы.
Arbidex.narod.ru
При помощи Word мы можем вставить в документы рисунки, фотографии, т.е. объекты. Так же можно вставить диаграммы, художественные надписи созданные в Word Art, и векторные рисунки. Средства для создания этих объектов вызываются автоматически при выборе соответствующей команды меню Вставка-Рисунок.
В частности программа позволяет создавать и вставлять геометрические фигуры, художественные заголовки, т.е. в ней имеются средства, отдаленно напоминающие средства специализированных графических редакторов. Правда среди этих средств, нет ничего для создания и обработки растровых иллюстраций — их можно только импортировать из других программ, но зато есть средства для управления их визуализацией, например для изменения яркости, контрастности и масштаба изображения.
Несмотря на столь разностороннюю природу этих объектов, с которыми может работать MWord, у них есть общие свойства, например размер, положение на странице, характер взаимодействия с текстом.
Взаимодействие объектов MS Word с текстом и страницей.
Управление размером и положением объектов. Когда объект выделен вокруг него видны 8 квадратных маркеров. При наведении мыши на один из маркеров, указатель меняет форму и превращается в двунаправленную стрелку. Это позволяет менять размер объекта. И переставить объект можно так же с помощью, когда указатель меняется и превращается в четырех направленную стрелку.
Расширенное управление свойствами объектов. Вручную мы можем управлять только размером и положением объекта на странице. С помощью панели инструментов можно управлять индивидуальными свойствами объектов, а с помощью диалогового окна Формат объекта управляют наиболее общими свойствами объектов всех типов.
Взаимодействие объектов с окружающим текстом. Вставить объект в текст, следует прежде всего задать его взаимодействие с текстом. Средства для этого представлены на вкладке Положение диалогового окна-Формат объекта. Прочие параметры взаимодействия объектов с окружающим текстом. Более тонкую настройку можно найти в диалоговом окне Дополнительная настройка.
Управление горизонтальным положением объекта относительно элементов печатной страницы. Сделать это можно и в ручную, но точную настройку выполняют с помощью диалогового окна Формат объекта — Положение.
Варианты:
— по левому краю
— по правому краю
— по центру
— другое
Управление вертикальным положением объекта. К объекту встроенному в текст, можно подходить с двух позиций: как к элементу оформления страницы или как к элементу оформления содержания, т.е. текста.
Общие сведения об объектах, свойствах и методах
Объекты являются основными стандартными блоками Microsoft Visual Basic; Почти все, что вы делаете в Visual Basic, включает в себя изменение объектов. Каждый элемент Microsoft Word, например документы, таблицы, абзацы, закладки и поля, может быть представлен объектом в Visual Basic.
Что такое объекты и коллекции?
Объект представляет элемент Word, например документ, абзац, закладку или один символ. Коллекция — это объект, содержащий несколько других объектов, обычно одного типа; Например, все объекты закладки в документе содержатся в одном объекте коллекции. С помощью свойств и методов можно изменить один объект или целую коллекцию объектов.
Что такое свойство?
Свойство является атрибутом объекта или аспектом его поведения. Например, к свойствам документа относятся его имя, содержимое и состояние сохранения, а также включена ли функция отслеживания изменений. Чтобы изменить характеристики объекта, изменяют значения его свойств.
Чтобы задать значение свойства, следуйте ссылке на объект с точкой, именем свойства, знаком равенства и новым значением свойства. В следующем примере включается отслеживание изменений в документе с именем «MyDoc.doc».
Sub TrackChanges() Documents("Sales.doc").TrackRevisions = True End Sub
В этом примере Documents ссылается на коллекцию открытых документов, а имя «Sales.doc» определяет один документ в коллекции. Свойство TrackRevisions задано для этого документа.
Некоторые свойства нельзя задать. Раздел справки для свойства указывает, можно ли задать это свойство (чтение и запись) или только чтение (только для чтения).
Вы можете вернуть сведения об объекте, возвращая значение одного из его свойств. В следующем примере возвращается имя активного документа.
Sub GetDocumentName() Dim strDocName As String strDocName = ActiveDocument.Name MsgBox strDocName End Sub
В этом примере ActiveDocument ссылается на документ в активном окне в Word. Имя этого документа присваивается переменной, которая ссылается на документ в активном окне Word. Имя этого документа присваивается переменной strDocName .
Замечания
Раздел справки для каждого свойства указывает, можно ли задать это свойство (чтение и запись), только чтение свойства (только для чтения) или только запись свойства (только для записи). Кроме того, обозреватель объектов в редакторе Visual Basic отображает состояние чтения и записи в нижней части окна браузера при выборе свойства.
Что такое метод?
Метод — это действие, которое может выполняться объектом. Например, как документ можно распечатать, объект Document имеет метод PrintOut . Методы часто имеют аргументы, определяющие способ выполнения действия. В следующем примере выводится первые три страницы активного документа.
Sub PrintThreePages() ActiveDocument.PrintOut Range:=wdPrintRangeOfPages, Pages:="1-3" End Sub
В большинстве случаев методы — это действия, а свойства — качества. Использование метода приводит к тому, что что-то происходит с объектом, а свойство возвращает сведения об объекте или вызывает изменение качества объекта.
Возвращение объекта
Большинство объектов возвращаются путем возврата одного объекта из коллекции. Например, коллекция Documents содержит открытые документы Word. Свойство Documents объекта Application (объект в верхней части иерархии объектов Word) используется для возврата коллекции Documents .
После доступа к коллекции можно вернуть один объект, используя значение индекса в скобках (это аналогично работе с массивами). Значение индекса обычно представляет собой число или имя. Дополнительные сведения см. в разделе Возвращение объекта из коллекции.
В следующем примере свойство Documents используется для доступа к коллекции Documents . Номер индекса используется для возврата первого документа в коллекции Documents . Затем метод Close применяется к объекту Document , чтобы закрыть первый документ в коллекции Documents .
Sub CloseDocument() Documents(1).Close End Sub
В следующем примере используется имя (указанное в виде строки) для идентификации объекта Document в коллекции Documents .
Sub CloseSalesDoc() Documents("Sales.doc").Close End Sub
Объекты коллекции часто имеют методы и свойства, которые можно использовать для изменения всей коллекции объектов. Объект Documents имеет метод Save , который сохраняет все документы в коллекции. В следующем примере открытые документы сохраняются с помощью метода Save .
Sub SaveAllOpenDocuments() Documents.Save End Sub
Объект Document также имеет метод Save , доступный для сохранения одного документа. В следующем примере документ с именем Sales.doc сохраняется.
Sub SaveSalesDoc() Documents("Sales.doc").Save End Sub
Чтобы вернуть объект, который находится ниже в иерархии объектов Word, необходимо выполнить детализацию до него с помощью свойств и методов для возврата объектов.
Чтобы узнать, как это делается, откройте редактор Visual Basic и щелкните Обозреватель объектов в меню Вид . Щелкните Приложение в списке Классы слева. Затем щелкните ActiveDocument в списке участников справа. Текст в нижней части обозревателя объектов указывает, что ActiveDocument является свойством только для чтения, которое возвращает объект Document . Щелкните Документ в нижней части обозревателя объектов; Объект Document автоматически выбирается в списке Классы , а в списке Участники отображаются члены объекта Document . Прокрутите список участников, пока не найдите Закрыть. Щелкните метод Close (Закрыть ). В тексте в нижней части окна Обозревателя объектов отображается синтаксис метода . Для получения дополнительных сведений о методе нажмите клавишу F1 или нажмите кнопку Справка , чтобы перейти к разделу Справка по методу Закрыть .
Учитывая эти сведения, можно написать следующую инструкцию, чтобы закрыть активный документ.
Sub CloseDocSaveChanges() ActiveDocument.Close SaveChanges:=wdSaveChanges End Sub
В следующем примере разворачивается активное окно документа.
Sub MaximizeDocumentWindow() ActiveDocument.ActiveWindow.WindowState = wdWindowStateMaximize End Sub
Свойство ActiveWindow возвращает объект Window , представляющий активное окно. Для свойства WindowState задается константная максимума (wdWindowStateMaximize).
В следующем примере создается документ и отображается диалоговое окно Сохранить как , чтобы можно было указать имя документа.
Sub CreateSaveNewDocument() Documents.Add.Save End Sub
Свойство Documents возвращает коллекцию Documents . Метод Add создает документ и возвращает объект Document . Затем к объекту Document применяется метод Save.
Как видите, для детализации объекта используются методы или свойства. Это значит, что объект возвращается путем применения метода или свойства к объекту над ним в иерархии объектов. После возврата нужного объекта можно применить методы и управлять свойствами этого объекта.
Получение справки по объектам, методам и свойствам
Пока вы не ознакомитесь с объектной моделью Word, вы можете использовать средства, которые помогут вам детализировать иерархию.
- Microsoft IntelliSense. При вводе точки (.) после объекта в редакторе Visual Basic отображается список доступных свойств и методов. Например, при вводе Application. отображается раскрывающийся список методов и свойств объекта Application .
- Справка. Вы также можете использовать справку, чтобы узнать, какие свойства и методы можно использовать с объектом . Каждый раздел объекта в справке содержит переход см. также, в котором отображается список свойств и методов для объекта . Нажмите клавишу F1 в обозревателе объектов или в модуле, чтобы перейти к соответствующему разделу справки.
- Обозреватель объектов. Обозреватель объектов в редакторе Visual Basic отображает элементы (свойства и методы) объектов Word.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Обратная связь
Были ли сведения на этой странице полезными?
Что такое объект в ворде
В документ Word или Excel можно вставить объект из другого приложения и редактировать этот объект, пользуясь возможностями приложения, в котором он создан. Для этого откройте документ и выберите одну из следующих команд:
- в меню Вставка (Insert) команду Рисунок (Picture) , а затем одну из команд: Картинки (Clip Art), Из файла (From File) и т.д.;
- в меню Вставка (Insert) команду Объект (Object) ;
- в меню Правка (Edit) команду Специальная вставка (Paste Special);
- специальные команды, предусмотренные только в данном приложении, например, если вы хотите переслать слайд из приложения PowerPoint в документ Word выберите в меню Файл (File) команду Отправить в (Send To), Microsoft Word (Microsoft Word).
Разницу между копированием данных и вставкой их в качестве объекта поясним на следующем примере. Вы можете скопировать диапазон ячеек Excel в буфер обмена и вставить их в документе Word. Если выбрать команду Вставить (Insert) из меню Правка (Edit) , то данные ячеек будут представлены в таблице Word. При использовании команды Специальная вставка (Paste Special) в меню Правка (Edit) и выбора в списке Рабочий лист Excel (Microsoft Excel Worksheet Object) скопированная информация будет отображена как связанный объект и сохранит связь с исходным приложением. При изменении данных в книге они будут изменены в документе Word.
Для вставки в документ нового объекта откройте документ, выберите команду Объект (Object) в меню Вставка (Insert ), и в диалоговом окне Вставка объекта (Insert Object) откройте вкладку Создание (Create New) (рис. 28.2).
Рис. 28.2 Выбор типа вставляемого объекта
Выделите в списке Тип объекта (Object Type) нужный элемент, например, Лист Microsoft Excel (Microsoft Excel Worksheet). Установка флажка В виде значка (Display as Icon) позволяет не показывать содержание вставленного объекта, а отобразить его в виде значка (рис. 28.3). Вставка объекта в меньшей степени увеличивает размер документа, чем внедрение, так как не используются связи.
Рис. 28.3 Значок и имя вставленного объекта
Вставка объекта в меньшей степени увеличивает размер документа, чем внедрение, так как не используются связи. Для вставки в документ файла в окнах программ Word, Excel, PowerPoint установите курсор на месте вставки, выберите команду Объект (Object) из меню Вставка (Insert) и откройте вкладку Создание из файла (Create from File) (рис. 28.4):
- В поле Имя файла (File Name) укажите имя вставляемого файла.
- Кнопка Обзор (Browse) позволяет найти нужную папку «и указать требуемый файл.
- В связи с тем, что впоследствии файл, содержащий вставляемый объект, может быть перемещен в другой каталог, его могут переименовать или изменять, то предусмотрена возможность установки флажка Связь с файлом (Link to file) , обеспечивающим постоянную связь между вставляемым объектом и создаваемым документом. После установки флажка все изменения в файле будут отражаться в документе.
- Нажмите кнопку ОК.
Рис. 28.4 Вставка в документ файла
Редактирование внепренного объекта
Независимо от того, в какое приложение вставлен объект, его можно редактировать с помощью меню и панелей инструментов приложения, в котором он создан. Для редактирования объекта, соответствующая исходная программа должна быть установлена на компьютере. После щелчка по внедренному объекту вокруг него появятся маркеры выделения, а в строке состояния отобразится подсказка, что для изменения объекта следует его дважды щелкнуть. При редактировании внедренного объекта на экране отображаются строка меню и панели инструментов приложения, в котором был создан объект, строка заголовка исходного приложения не меняется.
В качестве примера на рис. 28.5 показано окно приложения Word после двойного щелчка внедренного в документ листа Microsoft Excel. В окне Microsoft Word видны панели инструментов Excel и строка формул. Для редактирования объекта в окне исходнбго приложения выберите в меню Правка (Edit) команду Объект (Object), Открыть (Open) .
Рис. 28.5 Окно приложения Word после вставки листа Excel
Закончив редактирование объекта, вернитесь в окно исходного документа. В тех случаях, когда, редактируемый объект отображается в окне приложения, в котором создается документ, для возвращения в окно исходного документа щелкните мышью вне объекта. Если редактируемый объект отображался в отдельном окне, то выберите в меню Файл (File) к оманду Выход (Exit).
При копировании данных в качестве внедренного объекта конечный файл занимает больше дискового пространства, чем при связывании данных.
Редактирование связанного объекта
Кнопка Обновить (Update Now) обновляет выделенную связь. Выделите строку с названием связанного объекта, а затем нажмите кнопку Открыть источник (Open Source). Установка переключателя в положение Автоматически обеспечивает соответствие данных в документе исходному файлу.
Рис. 28.6 Диалоговое окно, содержащее сведения о связанных объектах
Этот параметр недоступен, если установлен флажок Не обновлять связь (locked) .
После редактирования исходного файла выберите команду Выход (Exit) в меню Файл (File).
Обмен ценными между таблицей Excel и текстовым документом, созданный в приложении Microsoft Word
В качестве примера использования связанных данных рассмотрим обмен информацией между таблицей Excel и текстовым документом, созданный в приложении Word. Чтобы связать таблицу, диаграмму или другой фрагмент документа Excel с документом Word, выполните следующие действия:
- выделите таблицу в Excel;
- выберите команду Копировать (Сору) в меню Правка (Edit) или нажмите одноименную кнопку на панели инструментов Стандартная. С клавиатуры команду можно выбрать, нажав клавиши Ctrl+C или Ctrl+Insert;
- откройте документ Word, установите курсор на месте вставки и выберите в меню Правка (Edit) команду Специальная вставка (Paste Special);
- в диалоговом окне Специальная вставка (Paste Special) поставьте переключатель в положение Связать (Paste Link) (рис. 28.7);
- в списке Как (As) выберите формат данных, в данном случае Формат HTML. Число форматов данных, отображаемых в списке, их типы зависят от приложения источника. В рамке Результат приводится описание результатов вставки;
- после установки флажка В виде значка (Display as Icon) содержимое буфера обмена будет отображаться в виде значка. Флажок целесообразно использовать в том случае, если не требуется, чтобы в файле отображались сами данные;
- нажмите кнопку ОК .
Рис. 26.7 Диалоговое окно, используемое для связывания и внедрения объекта
Для проверки, что данные связаны, внесите изменения в таблицу Excel и посмотрите, как они изменятся в документе Word.
Можно скопировать данные из одного окна приложения Microsoft Office в другое путем перетаскивания.
Вставка файла в документ
Если вы хотите вставить файл целиком, то после установки курсора на месте вставки выберите в меню Вставка (Insert) команду Файл (File) .
В диалоговом окне Вставка файла (Insert File) нажмите кнопку со стрелкой справа от кнопки Вставить (Insert) и выберите в раскрывающемся списке Вставить как ссылку (Insert as Link) (рис. 28.8). Вставленный объект можно отобразить как файл целиком или только коды полей (рис. 28.9). Вставленный файл будет выделена серым фоном. Для переключения используются клавиши Alt+F9.
В окнах программ Word, Excel, PowerPoint команда Специальная вставка (Paste Special) в меню Правка (Edit) позволяет содержимое буфера обмена вставить или внедрить в позицию курсора в формате, выбранном в списке Как (As) . В этом случае содержимое буфера обмена вставляется или внедряется, однако связь с ним не устанавливается.
Рис. 28.6 Диалоговое окно Вставить файл
Рис. 28.9 Отображение кодов полей вставленного файла
Если вы создали связь между файлами (напомним, что для этого можно выбрать в меню Правка (Edit) команду Специальная вставка (Paste Special)) и хотите ее изменить, то выполните следующие действия:
- выберите команду Связи (Links) в меню Правка (Edit);
- в диалоговом окне Связи (Links) выделите один или несколько файлов (рис. 28.10);
- если вы хотите, чтобы выделенная связь автоматически обновлялась при открытии файла-контейнера, поставьте переключатель в разделе Способ обновления связь (Update method for selected link) в положение автоматически (Automatic update) (этот параметр недоступен, если обновление связи запрещено);
- установка флажка Не обновлять связь (Locked) за прещает обновление выделенной связи. Если этот флажок установлен, то кнопка Обновить (Update Now) недоступна;
- после нажатия кнопки Разорвать связь (Break Link) происходит разрыв связи между исходным файлом и текущим документом. После этого прекращается обновление данных при изменении исходного файла, и связь исчезает из списка связей.
Рис. 28.10 Диалоговое окно Связи
Изменение типа объекта
Команды Объект (Object), Преобразовать (Convert) в меню Правка (Edit) позволяет изменить тип объекта, например, можно внедренный объект преобразовать в связанный в том случае, когда исходное приложение работает независимо. (Это невозможно сделать для рисунка, диаграммы, организационной диаграммы, уравнения). Для выполнения этой операции выполните следующие действия:
- откройте объект в его исходном приложении;
- выберите в меню Файл (File) команду Сохранить как (Save As);
- сохраните объект в отдельном файле;
- вернитесь из исходного приложения в основной документ и удалите внедренную версию объекта;
- выберите в меню Вставка (Insert) команду Объект (Object) ;
- на вкладке Создание из файла (Create from File) (см. рис. 28.1) введите имя файла, который следует вставить как связанный объект (можно найти нужный файл, нажав кнопку Обзор (Browse)) , установите флажок Связь
- с файлом (Link to File) и нажмите кнопку ОК .