Создание приложений для MsWord. Объект Application. Структура проекта в MS Word. Коллекция Documents. Методы коллекции Documents. Объект Document. Свойства и методы Document.
  1. Объект Application.
  2. Структура проекта в MS Word.
  3. Коллекция Documents.
  4.  Объект Document.

1.Объект Application.

Приложение Word предназначено для работы с текстовым документами и их форматированием. Объект Application представляет собой собственно приложение MS Word, предоставляет доступ к отдельным глобальным свойствам, связанным с настройками приложения, и методам, позволяющим управлять его работой. Данный объект позволяет получить ссылку на активный документ(свойство ActiveDocument) и активное окно (свойство ActiveWindow).

Рассмотрим некоторые объекты и соответствующие им свойства:

Объект Options предоставляет доступ к тем параметрам MS Word, которые задаются с помощью диалогового окна диалога Параметры (Options).

Коллекция KeyBoundTo содержит объекты KeyBinding, которые назначены команды, макросам или стилям в текущем контексте. Каждый объект KeyBindings определяет клавиатурное сокращение в текущем контексте.

Коллекция KeyBindings, как и предыдущая коллекция, также содержит обекты KeyBinding. С помощью метода Add данной коллекции можно добавить горячую клавишу.

Коллекция Languages содержит объекты Language, которые определяют язык проверки или форматирование документа:

Свойство Name этого объекта позволяет узнать используемый язык.

Свойство ActiveGrammarDictionary, ActiveHyphenationDictionary, ActiveSpellingDictionary и ActiveThesaurusDictionary позволяет узнать соответственно активный словарь для проверки грамматики, расстановки переносов, проверки орфографии и словарь синонимов используемого языка.

Объект AutoCorrect предоставляет доступ к функциональным возможностям явтозамены, аналогичным устанавливаемым в окне диалога Автозамена.

Объект Browser предоставляет возможность программного управления перемещением по документу. Этим объектом можно управлять с помощью всего одного свойства Target, определяющим элемент перехода, и двух методов Next и Previous, определяющих направление перехода.

Коллекция ComandBars содержит все панели команд (объект CommandBar) приложения. Каждый объект CommandBar представляет собой конкретную панель команд.

Коллекция FileConverters содержит все установленные фильтры (объекты FileConverter) для открытия  и сохранения файлов.

Объект FileSearch является объектом, общим для всех приложений MS Office. Он предоставляет программный доступ к функциональным возможностям окна диалога Открытие Документа. С помощью методов Execute и newSearch данного объекта можно выполнить поиск файлов по определенным критериям.

Коллекция FontNames предоставляет  собой список всех допустимых шрифтов. Данная коллекция несколько отличается от большинства других коллекций. Она имеет только один метод Item, который позволяет получить доступ к конкретному  элементу коллекции. В отличии от других рассмотренных нами коллекций, элементами коллекции FontNames являются не объекты, а названия шрифтов.

Коллекция RecentFiles содержит объекты  RecentFile, каждый из которых представляет собой файл, находящийся в списке недавно использованных   меню Файл(File).

Метод Add данной коллекции позволяет добавить файл в список недавно использованных файлов (добавление  файлов в эту коллекцию можно  задать и при вызове  метода  Open).

Методы объекта RecentFile позволяют удалить файл из списка или открыть его.

2.Структура проекта в   MS Word.

Непосредственно после создания пустого документа в MS Word проект содержит два объекта: объекта Document, представляющий собой собственно документ, и ссылку на шаблон Normal. В дальнейшем в проект могут добавляться стандартные модули, модули классов и формы.

3.Коллекция  Documents.

Коллекция Documents содержит все открытые документы (объекты Document). Чтобы объявить объект типа Document, нужно использовать следующий синтаксис:

Dim objDocument as Document

Set objDocument =Documents[.Item](Name)

Параметр Name содержит  имя существующего документа или его уникальный индекс. Метод Item, являющийся методом по умолчанию для объектов типа Documents, позволяет указать на открытый документ, с которым нужно связать объектную переменную.

 Доступ к элементам данной коллекции можно получить либо по имени документа, либо по его индексу.

Например представленная ниже инструкция предназначена для активизации документа с именем Документ1.

  Document(“Документ1”).Activate

Методы коллекции Documets:

Add – используется для добавления нового пустого документа к коллекции открытых документов.

Синтаксис:

Documents.Add[(Template, Newtemplate, Documenttype, Visible)]

Template – содержит абсолютный путь к шаблону, на основе которого создается документ. Если этот параметр опущен, то документ создается на основе шаблона Обычный.dot (Normal.dot).

Newtemplate(тип Boolean) позволяет указать, является ли создаваемый документ шаблоном (значение True). По умолчанию данный параметр имеет значение False, указывающий на создание документов.

Documenttype – позволяет указать тип создаваемого документа:

        wdNewBlankDocument – обычный документ (по умолчанию)

        wdNewWebPage – Web-страница

        wdNewEmailMessage – электронное сообщение

пример:

Set objDocument=Documents.Add

Пример реализует создание документа на базе шаблона Шаблон1:

'Documents.Add Template:="c:\program files\microsoft office" & "\templates\Шаблон1.dot"

Close закрывает один или несколько документов.

Синтаксис:

ObjDocument.Close[(SaveChanges, OriginalFormat, RouteDocument)]

SaveChanges – позволяет указать, как должен быть сохранены изменения, внесенные в документ после последнего сохранения:

      wdDoNotSaveChanges – не сохранять изменения;

      wdPromtToSaveChanges – перед сохранением выдавать сообщение;

      wdSaveChanges – сохранить изменения;

OriginalFormat – позволяет задать формат, в котором будет выполнятся сохранение:

      wdOriginalDocumentFormat –документ сохраняется в исходном формате;

      wdPromtUser – перед сохранением выдается запрос о формате;

      wdWordDocument – сохранение в формате Word.

RouteDocument – указывает, что документ необходимо направить следующему получателю.

Пример: процедура закрытия активного документа  с автоматическим сохранением внесенных изменений  в формате MS Word.

ActiveDocument.Close savechanges:=wdSaveChanges, originalformat:= wdWordDocument

Закрываются только документы. Чтобы завершить работу приложения, необходимо использовать метод Quit объекта Application.

Синтаксис:

Application.Quit(SaveChanges, Format, RouteDocument)

Параметры этого метода имеют такое значение, как и параметры метода Close.

Пример: завершение работы Word.

Application.Quit

Open открывает документ и добавляет его в коллекцию Documents.

Синтаксис:

Documents.Open(FileName[, ConfirmConversions, ReadOnly, AddToRecentFiles, PasswordDocument, PasswordTemplate, Revert, WritePasswordDocument, WritePasswordTemplate, Format)

FileName – определяет имя открываемого файла. Допускается открытие нескольких документов, имена которых отделяются пробелами.

ConfirmConversions –определяет необходимость отображения окна диалога преобразование файла: true –если файл не является документом MS Word.

ReadOnly – позволяет открыть документ, только для чтения, если ему присвоено значение true.

AddToRecentFiles – если значение true, то открываемый файл добавляется в список недавно использованных файлов, расположенных в нижней части меню Файл.

PasswordDocument – задает пароль для открытия документа.

PasswordTemplate - задает пароль для открытия шаблона.

Revert  при повторном открытии уже открытого файла выполняется одно из действий: игнорирует выполненные изменения и открывает этот файл заново(true); продолжает работу с уже открытым файлом (False)

WritePasswordDocument – задает пароль для сохранения внесенных в документ изменений.

WritePasswordTemplate - задает пароль для сохранения внесенных в шаблон изменений.

Format – определяет фильтр используемый при открытии документа.

Пример: процедура открытия файла с именем General.txt, который  расположен в папке С:\Windows. При открытии выводится окно диалога Преобразование файла.

Sub opendoc()

Documents.Open FileName:="c:\windows\General.txt", ConfirmConversions:=True

End Sub

Пример: открывается уже открытый документ, при этом игнорируются (уничтожаются) все сделанные изменения.

 Documents.Open Filename:=MyDoc”, Revert:=True

Save позволяет сохранить все документы, являющиеся элементами коллекции. Если документ не был сохранен, то выводится окно диалога Сохранение документа.

Синтаксис:

Documents.Save[(NoPromt, OriginalFormat)]

NoPromt – указывает на возможность сохранения без предепреждения всех открытых документов;

OriginalFormat – формат сохранения.

4.Объект Document.

Объект Document представляет собой конкретный документ, открытый в MS Word. Доступ к нему можно получить с помощью коллекции Documents.

По умолчанию любой только что открытый документ является активным. Однако при работе с несколько открытыми документами требуется механизм активизации нужного документа для этого используется метод Activate.

Синтаксис:

ObjDocument.Activate

Метод возвращает ссылку на объект типа Document.

Пример:

Set objDocument1=Documents.Add ‘создание и активизация документа Doc1

Set objDocument2=Documents.Add ‘создание и активизация документа Doc2

objDocument1.Activate ‘активизация документа Doc1

Для обращения к активному документу можно использовать глобальное свойство ActiveDocument, которое возвращает ссылку на объект типа Document. При таком обращении можно избежать идентификации конкретного документа, обращаясь к активному в данный момент времени документу напрямую.

 Кроме объекта связанного с активным документом, в VBA имеется объект, связанный с текущим документом. Объект ThisDocumentсе всегда указывает на тот документ , в проектк которого он объявлен. Свойства и методы объекта ThisDocument соответствуют свойствам и событиям объекта Document

Этот объект является глобальным и его дополнительное объявление не требуется.

Свойства.

GrammarCheckedопределяет была ли запущена проверку грамматики для заданного документа(true) или нет (false). В случае необходимости повторного запуска грамматики этому свойству следует задать значение false.

GrammaticalErrors – возвращает коллекцию ProfreadingErrors, которая включает предложения, содержащие грамматические ошибки диапазона или всего документа. В том случае, если грамматические ошибки отсутствуют, свойство GrammaticalErrors возвращает значение 0.

Name – определяет имя файла на диске, в котором хранится документ. С помощью этого свойства можно получить имя файла, но нельзя изменить его.

Paragraphs – возвращает коллекцию Paragraphs, которая содержит все абзацы в заданном документе, диапазоне или выделении.

ReadOnly – это свойство имеет значение true, если внесенные в документ изменения не могут быть сохранены в нем.

Saved – если файл не сохранен, то данное свойство имеет значение true; еслм нет – False.

ShowSpellingErrorstrue _позволяет установить режим подчеркивания слов, содержащих орфографические ошибки.

ShowGrammaticalErrors – позволяет задать режим подчеркивания грамматических ошибок во время ввода текста в документ(true).

Styles – возвращает коллекцию Styles, которая содержит все стили данного документа.

Tables - возвращает коллекцию Tables, которая содержит все таблицы данного документа, диапазона или выделения.

TablesOfContents - возвращает коллекцию TablesOfContents, которая содержит все оглавления данного документа.

Type – возвращает тип документа:

wdTypeDocument – обычный документ,

wdTypeTemplate – шаблон.

Windows - возвращает коллекцию Windows, которая содержит все окна данного документа.

Методы.

CheckGrammarпредназначен для проверки орфографии и грамматики в заданном документе или диапазоне. Если в результате проверки были найдены ошибки, то будет автоматически загружено окно диалога Правописание. Заметим, что проверка правописания может выполнятся для выделенного текстового фрагмента или отдельного строкового выражения. В первом случае в качестве родительского объекта используется объект Selection.

Selection.CheckGrammar

Чтобы проверить правописание в стоковом выражении, необходимо использовать метод CheckGrammar объекта Application. Проверяемое выражение передается в метод с помощью параметра String

Синтаксис: Application.CheckGrammar(String)

Признак выполнения проверки содержится в свойстве GrammarChecked.

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

Sub ошибки()

With ActiveDocument.GrammaticalErrors

For i = 1 To .Count

s = s & .Item(i) & vbCrLf(Комбинация символов возврата каретки и перевода строки)

Next

End With

MsgBox s

End Sub

CheckSpelling – начинает проверку орфографии для заданного документа или диапазона.

PrintPreview – переключает MS Word в режим предварительного просмотра документа.

Range – возвращает объект Range, задаваемый начальной и конечной позициями символов фрагмента текста.

Синтаксис:

ObjDocument.Range(Start, End)

Start – определяет позицию первого символа диапазона. Нулевое значение данного свойства соответствует началу документа.

End – определяет  позицию последнего символа диапазона.

Redo – повторяет последнее из отмененных до этого действий или целую последовательность отмененных действий. Данный метод возвращает значение true, если действие было повторено.

Синтаксис:

ObjDocument.Redo(Times)

Times – определяет количество повторяемых действий.

Пример: ActiveDocument.Redo 2

Save – в отличии от одноименного метода коллекции Documents, не имеет параметров. Данный метод аналогичен выполнению команды Файл®Сохранить.

SaveAs – позволяет выполнить действия, аналогичные действиям, выполняемым командой Файл®Сохранить Как. Параметры этого метода совпадают с параметрами, установленными в окне диалога Сохранение документа.

objDocument.SaveAs(FileName, FileFormat, LockComments, Password, AddToRecentFiles, WritePassword, ReadOnlyRecommended, EmbedTrueTypeFonts, SaveNativePictureFormat, SaveFormsData, SaveAsAOCELetter)

Параметр FileName – содержит имя сохраняемого файла.

FileFormat – содержит формат в котором будет выполнено сохранение.

LockComments – содержит указание на возможность добавления коментариев.

Password – пароль на открытие документа.

AddToRecentFiles – указывает на возможность добавления сохраняемого файла в список недавно открытых в меню Файл.

WritePassword – пароль на запись в документе.

ReadOnlyRecommended – указывает на создание обязательного предупреждения об открытии только для чтения.

EmbedTrueTypeFonts – указывает на сохранение шрифтов вместе с документом.

SaveNativePictureFormat указывает на сохранение внедренной графики в формате Windows.

SaveFormsData – указывает на сохранение данных, внесенных пользователем в форму.

SaveAsAOCELetter – если сохраненный документ имеет присоединенную почтовую программу, то при задании этому параметру значения true документ будет сохранен как письмо.

 Undo – отменяет последнее выполненное действие или последовательность действий.

Синтаксис: objDocument.Undo(times).

UpdateStyle – копирует все стили из присоединенного шаблона в документ. При этом выполняется автоматическая замена всех уже имеющихся стилей с именами, совпадающими с именами стилей из шаблона.

Режим отображения документа. 

Для управлениями отображения документа используется объект View, являющийся объектом-свойством объекта Window.

Синтаксис:

ObjWindow.View.Type[ = ViewType]

wdOutlineView – режим структуры.

wdPrintView – режим разметки.

wdNormalView – обычный режим.

wdPruntPreview – режим предварительного просмотра.

wdWebView – режим Web – документа.

 

Пример: показан код позволяющий перевести документ из режима предварительного просмотра документа в обычный режим просмотра

With ActiveWindow.View

If .Type = wdPrintPreview Then

.Type = wdNormalView

Else

MsgBox "режим отображения:" & .Type

End If

End With