Vba word текущий документ

title keywords f1_keywords ms.prod api_name ms.assetid ms.date ms.localizationpriority

Application.ActiveDocument property (Word)

vbawd10.chm158334979

vbawd10.chm158334979

word

Word.Application.ActiveDocument

c20a7c9f-f8a4-7913-f53f-10baa6807def

06/08/2017

medium

Application.ActiveDocument property (Word)

Returns a Document object that represents the active document (the document with the focus). If there are no documents open, an error occurs. Read-only.

[!NOTE]
The document in the active Protected View window cannot be accessed using this property. Instead, use the Document property of the ActiveProtectedViewWindow object.

Syntax

expression.ActiveDocument

expression A variable that represents an Application object.

Example

This example displays the name of the active document, or if there are no documents open, it displays a message.

If Application.Documents.Count >= 1 Then 
    MsgBox ActiveDocument.Name 
Else 
    MsgBox "No documents are open" 
End If

This example collapses the selection to an insertion point and then creates a range for the next five characters in the selection.

Dim rngTemp As Range 
 
Selection.Collapse Direction:=wdCollapseStart 
Set rngTemp = ActiveDocument.Range(Start:=Selection.Start, _ 
    End:=Selection.Start + 5)

This example inserts texts at the beginning of the active document and then prints the document.

Dim rngTemp As Range 
 
Set rngTemp = ActiveDocument.Range(Start:=0, End:=0) 
With rngTemp 
    .InsertBefore "Company Report" 
    .Font.Name = "Arial" 
    .Font.Size = 24 
    .InsertParagraphAfter 
End With 
 
ActiveDocument.PrintOut

See also

Application Object

[!includeSupport and feedback]

Создание нового документа Word или открытие существующего из кода VBA Excel. Методы Documents.Add и Documents.Open. Сохранение и закрытие документа.

Работа с Word из кода VBA Excel
Часть 2. Создание и открытие документов Word
[Часть 1] [Часть 2] [Часть 3] [Часть 4] [Часть 5] [Часть 6]

Новый документ Word создается из кода VBA Excel с помощью метода Documents.Add:

Sub Test1()

Dim myWord As New Word.Application

Dim myDocument As Word.Document

Set myDocument = myWord.Documents.Add

myWord.Visible = True

End Sub

Переменную myDocument можно объявить с типом Object, но тогда не будет ранней привязки к типу Word.Document и подсказок при написании кода (Auto List Members).

Открытие существующего документа

Существующий документ Word открывается из кода VBA Excel с помощью метода Documents.Open:

Sub Test2()

Dim myWord As New Word.Application

Dim myDocument As Word.Document

Set myDocument = _

myWord.Documents.Open(«C:Документ1.docx»)

myWord.Visible = True

End Sub

Замените в этой процедуре строку «C:Документ1.docx» на адрес своего файла.

Подключение к открытому документу

Присвоение переменной ссылки на существующий экземпляр Word.Application осуществляется в VBA Excel с помощью функции GetObject:

Sub Test3()

Dim myWord As Object, myDoc As Word.Document

On Error GoTo Instr

    Set myWord = GetObject(, «Word.Application»)

    Set myDoc = myWord.Documents(«Документ1.docx»)

    myDoc.Range.InsertAfter «Добавляем новый текст, подтверждающий подключение к открытому документу.»

Exit Sub

Instr:

    MsgBox «Произошла ошибка: « & Err.Description

End Sub

Если открытого приложения Word нет, выполнение функции GetObject приведет к ошибке. Также произойдет ошибка, если не будет найден указанный документ (в примере — «Документ1.docx»).

Сохранение и закрытие документа

Сохранение нового документа

Чтобы сохранить из кода VBA Excel новый документ Word, используйте метод SaveAs2 объекта Document:

myDocument.SaveAs2 («C:Документ2.docx»)

Замените «C:Документ2.docx» на путь к нужному каталогу с именем файла, под которым вы хотите сохранить новый документ.

Сохранение изменений в открытом документа

Сохраняйте изменения в существующем документе с помощью метода Document.Save или параметра SaveChanges метода Document.Close:

‘Сохранение изменений документа

myDocument.Save

‘Сохранение изменений документа

‘при закрытии

myDocument.Close ‘по умолчанию True

myDocument.Close True

myDocument.Close wdSaveChanges

‘Закрытие документа без

‘сохранения изменений

myDocument.Close False

myDocument.Close wdDoNotSaveChanges

Закрытие любого сохраненного документа

Метод Document.Close закрывает документ, но не приложение. Если работа с приложением закончена, оно закрывается с помощью метода Application.Quit.

I have a Word document that is already saved and I need to get its existing save directory and/or full file path (i.e. C:UsersPublicDocumentstestDoc.docx).

How can this be acquired from a macro/VBA?

Deduplicator's user avatar

Deduplicator

44.3k7 gold badges65 silver badges115 bronze badges

asked Jun 10, 2013 at 19:55

ikathegreat's user avatar

5

ActiveDocument.FullName

The above gives the full path to the document, including the file name.

ActiveDocument.Path

The above gives the directory where your document is saved.

ActiveDocument.Name

The above gives the name of the document, without path information.

answered Jun 10, 2013 at 20:04

shahkalpesh's user avatar

shahkalpeshshahkalpesh

33k3 gold badges67 silver badges88 bronze badges

Автоматизация работы с имеющимися данными 163

.SenderCompany = «ООО Универсал»

Наконец, наименование должности отправителя:

.SenderJobTitle = «Менеджер по работе с клиентами»

На этом заполнение свойств объекта LetterContent можно завершить:

End With

Поскольку предполагается воспользоваться методом SetLetterContent, заполнение всех свойств необязательно (остался целые ряд свойств, которые не были упомянуты). При других способах создания и использования объекта LetterContent необходимо задать значения абсолютно всем свойствам объекта.

Итак, поскольку приложение Word уже запущено и доступно через переменную WD, можно создать новый документ,

WD.Documents.Add

вставить в пустой документ заготовленную строку текста письма,

WD.ActiveDocument.Content.InsertBefore LetterText

и обратиться к методу SetLetterContent активного документа, передав ему в качестве параметра подготовленный объект типа LetterContent:

WD.ActiveDocument.SetLetterContent MyLetter

В результате документ превратится в письмо, которое мог бы создать мастер писем, основываясь на шаблоне Современное письмо. Помошник Office, возможно, предложит создать также конверт или наклейку.

Программный код функции Анализ_баланса

Теперь можно свести весь разработанный код воедино и записать исходный текст функции

Анализ_баланса (листинг 6.2).

ЛИСТИНГ 6.2

Public Function Анализ_Баланса()

Dim MyDb As Database

Dim Klients As Recordset

Dim Operations As Recordset

Dim WordRunning As Boolean

Dim KodKlienta As String

Dim SQLstr As String

Dim SumIn, SumOut As Currency

Dim LetterText As String

Dim WD As Word.Application

Dim MyLetter As New LetterContent

Set MyDb = CurrentDb

Set Klients = MyDb.OpenRecordset(«Клиенты»)

164 Глава 6. Access: автоматизация офисной базы данных

WordRunning = False

Klients.MoveFirst

Do While Not Klients.EOF

If Klients.Fields(«Фамилия») <> «» Then

KodKlienta = Klients.Fields(«КодКлиента»)

SQLstr = «SELECT * _

FROM Операции WHERE КодКлиента=» + KodKlienta

Set Operations = MyDb.OpenRecordset(SQLstr)

SumIn = 0

SumOut = 0

Operations.MoveFirst

Do While Not Operations.EOF

If Operations.Fields(«КодОперации») = 2 Then

SumIn = SumIn + _

Operations.Fields(«СуммаОперации»)

Else

SumOut = SumOut + _

Operations.Fields(«СуммаОперации»)

End If

Operations.MoveNext

Loop

Operations.Close

Set Operations = Nothing

If SumOut > SumIn Then

If MsgBox(«Отрицательное сальдо по клиенту » _ + Klients.Fields(«Фамилия») + _

«. Создать письмо?», vbYesNo, _ «Отрицательное сальдо») = vbYes _

Then

If Not WordRunning Then

Set WD = CreateObject(«Word.Application»)

WD.Visible = True

WordRunning = True

End If

LetterText = _

«Считаем необходимым обратить » + _ «Ваше внимание на то, что Ваш » + _ «баланс в операциях с нашей » + _ «компанией принял отрицательное » + _ «значение и составляет » + _

Str(SumIn — SumOut) + » руб.»

Автоматизация работы с имеющимися данными 165

With MyLetter

.DateFormat = Date$

.IncludeHeaderFooter = True

.PageDesign = _

«D:OfficeTemplates1049» + _ «Современное письмо ltr.dot»

.LetterStyle = wdModifiedBlock

.RecipientName = Klients.Fields(«Имя») + _

«» + Klients.Fields(«Отчество») + _

«» + Klients.Fields(«Фамилия»)

.RecipientAddress = _ Klients.Fields(«Адрес»)

.MailingInstructions = _ «ДЕЛОВАЯ КОРРЕСПОНДЕНЦИЯ»

.AttentionLine = «Внимание!»

.Subject = «Отрицательный баланс»

.ReturnAddress = _

«ООО Универсал, малая Ивановская 1»

.SenderName = «Петров П.П.»

.Closing = «С уважением,»

.SenderCompany = «ООО Универсал»

.SenderJobTitle = _

«Менеджер по работе с клиентами»

End With

WD.Documents.Add

WD.ActiveDocument.Content.InsertBefore LetterText

WD.ActiveDocument.SetLetterContent MyLetter

End If

End If

End If

Klients.MoveNext

Loop

Klients.Close

Set Klients = Nothing

Set Operations = Nothing

Set MyDb = Nothing

On Error Resume Next

If WordRunning Then WD.Quit

End Function

Чтобы выполнить функцию, достаточно выбрать двойным щелчком макрос Анализ балан-

са на вкладке Макросы. Далее, если в процессе анализа обнаружится отрицательное сальдо по одному из клиентов, достаточно будет щелкнуть на кнопке Äà в окне сообщения, и в открывшемся окне Word будет создано и отформатировано “современное письмо” с заданным содержанием и реквизитами (рис. 6.7).

166 Глава 6. Access: автоматизация офисной базы данных

Рис. 6.7. Письмо сформировано методом SetLetterContent

Глава 7

В мире объектов MS Office

Кое-что об объектах MS Office уже было рассмотрено в предыдущих главах. Чтобы более полно осознать возможности макросов VBA и представить себе, какие вообще задачи можно было бы решать с их помощью, а также узнать, как выполнить ту или иную операцию над ними, посвятим отдельную главу книги краткому обзору объектов MS Office. Направленность и объем этой книги не предполагают полного и детального рассмотрения объектной модели MS Office — этого, собственно, и не требуется никому, кроме профессиональных офис-программистов. Поэтому для начала вполне достаточно познакомиться с основными объектами, которые требуются для решения часто встречающихся задач, и научиться выполнять с ними типичные операции. Более того: многие действия с объектами MS Office можно выполнить десятком способов. Здесь будут рассмотрены на примерах одно-два самых простых действий. Таким образом, эта глава должна представлять собой что-то вроде краткого путеводителя по миру объектов Office или сборника “готовых рецептов” для непрофессионального программиста, который пытается самостоятельно решать при помощи VBA задачи автоматизации, характерные для своего конкретного офиса.

Работа с объектами MS Word

Объектная модель Word, как таковая, достаточно сложна. Однако все в ней подчинено строгим правилам, которые одинаково применимы ко всем уровням ее иерархической структуры: на уровне приложения, документа, абзаца, слова или символа. По этой причине овладеть основными приемами VBA-программирования для Word не так уж и трудно: достаточно понять несколько основных принципов, и уже никакие, даже совсем незнакомые объекты Word не поставят вас в тупик.

Работа с объектами Word на уровне приложения и документа

Объект Application

Приложение Word в целом представлено объектом Application. Это так называемый глобальный объект и во многих ситуациях его имя можно не упоминать, как нечто само собой разумеющееся (то есть, в большинстве приведенных ниже примеров префикс “Application.” можно было бы опустить). В свойствах этого объекта содержатся открытые окна, документы, всевозможные параметры рабочей среды Word и многое другое.

Свойство Caption

Например, заголовок окна Word задается свойством Caption этого объекта:

Application.Caption = “Мое приложение”

Свойства ActiveWindow, ActiveDocument и ActivePrinter

В свойствах ActiveWindow, ActiveDocument и ActivePrinter содержатся ссылки на,

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

168 Глава 7. В мире объектов MS Office

Application.ActiveWindow.WindowState = wdWindowStateMaximize Application.ActiveDocument.Save

MsgBox Application.ActivePrinter

Семейство CommandBars

Семейство CommandBars представляет панели меню и панели инструментов Word. Например, включить в окне Word режим “крупные значки” можно при помощи следующего кода:

Application.CommandBars.LargeButtons = True

Свойства DisplayScrollBars и DisplayStatusBar

Многие свойства объекта Application отвечают за внешний вид и поведение окна Word. Например, присваивание логического значения False следующим свойствам приведет к тому, что будет отключено отображение полос прокрутки и строки состояния:

Application.DisplayScrollBars = False

Application.DisplayStatusBar = False

Объект Options

Все параметры и настройки Word, содержащиеся в диалоговом окне Сервис | Параметры, доступны посредством объекта Options.

Свойство AllowDragAndDrop: управление режимом перетаскивания текста в режиме Правка

Например, флажок использовать перетаскивание текста на вкладке Правка можно устано-

вить при помощи присваивания:

Application.Options.AllowDragAndDrop = True

Свойство SaveInterval: задание интервала автосохранения

А следующий код задаст интервал автосохранения (см. вкладку Сохранение) равным десяти минутам:

Application.Options.SaveInterval = 10

Свойство StatusBar

Свойство StatusBar позволяет записать произвольный текст в строку состояния Word:

Application.StatusBar = «Выполняется макрос, ждите…»

Метод Quit

Метод Quit завершает работу Word и закрывает его окно. Закрыть окно Word с сохранением всех открытых документов можно при помощи следующего кода:

Application.Quit wdSaveChanges

Семейство Documents

Семейство Documents, содержащееся в одноименном свойстве объекта Application, представляет все открытые документы. Создать новый или открыть существующий документ можно при помощи методов этого семейства.

Работа с объектами MS Word 169

Метод Add

Метод Add создает новый документ на основе указанного шаблона (если не задавать этот параметр, то документ будет создан на основе шаблона Обычный). Как правило, используют объектную переменную типа Document, чтобы “запомнить” ссылку на вновь созданный документ:

Dim MyDoc As Document

Set MyDoc = Documents.Add(«C:MSOfficeTemplatesMy.dot»)

Метод Open

Метод Open используют для открытия уже существующего, то есть записанного ранее на диск документа:

Set MyDoc = Documents.Open(«C:Мои документыMyDoc1.doc»)

Методы Close и Activate

Обращаться к членам семейства Documents можно как по номерам, так и по именам. Например, следующий код закроет документ с именем “Документ1” и сделает активным четвертый из остающихся открытыми документов (если документа с именем “Документ1” среди открытых документов нет, или, если открыто менее четырех документов, то возникнет ошибка выполнения):

Documents(“Документ1”).Close

Documents(4).Activate

Объекты ActiveDocument и ThisDocument

С точки зрения макроса VBA есть два особенных документа из всех документов семейства Documents. Очень часто эти два документа совпадают в одном: ActiveDocument во многих случаях означает то же самое, что и ThisDocument, хотя, вообще говоря, это разные объекты. Объект ActiveDocument указывает на активный, то есть текущий документ, тот документ, чье окно активно и находится на переднем плане. Объект ThisDocument содержит ссылку на тот документ, в котором, собственно, находится выполняемый макрос.

Метод PrintOut: печать документа

Вывести на печать документ:

ActiveDocument.PrintOut

Метод SendMail: отправка документа по электронной почте, как вложение

Отправить документ по электронной почте, как вложение:

Options.SendMailAttach = True

ThisDocument.SendMail

В последнем случае по электронной почте будет отправлен документ или шаблон, в котором содержится макрос. Если макрос создан при помощи диалогового окна Макросы без уточнения местонахождения макроса, то в путь отправится шаблон Normal.dot. При этом автоматически откроется окно MS Exchange с созданным сообщением E-mail, где остается лишь указать адрес.

Метод Close

Метод Close имеется как у семейства Documents в целом, так и у каждого отдельно взятого Document-объекта. В первом случае он используется для группового закрытия документов, во втором — для закрытия конкретного документа.

Закрыть все документы с сохранением по подтверждению пользователя:

170 Глава 7. В мире объектов MS Office

Documents.Close wdPromptToSaveChanges

Закрыть текущий документ без сохранения:

ActiveDocument.Close wdDoNotSaveChanges

Методы Save и SaveAs

Явным образом сохранить документ можно при помощи метода Save (сохранение под текущим именем) или SaveAs (сохранить как):

ActiveDocument.Save

ActiveDocument.SaveAs «C:Мои документыMyDoc2.doc»

Объект Range: работа с текстовым содержимым документа

Основным рабочим инструментом для операций с содержимым документа Word является объект типа Range. Этот специальный, “абстрактный” объект представляет собой диапазон текста. По названию, а также по своему смыслу он схож с объектом Range рабочего листа Excel. Эти два

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

см. в гл. раздел “”.

При работе с текстовым содержимым документа в целом, а также при операциях с абзацами, предложениями, словами и символами, всегда используется один и тот же объект — Range. В каждом случае, в любом контексте он представляет соответствующий текстовый диапазон, будь то весь документ или единственное слово. По этой причине очень важно освоить приемы работы именно с Range-объектом, как таковым, а детали обращения с предложениями, словами и другими разновидностями текстовых диапазонов не будут представлять никакой трудности.

Явно задать текстовый диапазон Range можно задать множеством различных способов. Многие свойства документа, не содержащие в своем названии слова “Range”, на самом деле возвращают при обращении к ним объект типа Range. У многих объектов существует свойство Range

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

Свойство Bold: выделение диапазона полужирным начертанием его символов

Выделить полужирным начертанием первые десять символов документа:

ActiveDocument.Range(Start:=0, End:=9).Bold = True

Свойство InsertBefore: вставка строки

Вставить вначале документа строку “АБВГД”:

ActiveDocument.Range(Start:=0, End:=0).InsertBefore «АБВГД»

Проверка правописания

Выполнить проверку правописания в первом разделе документа, и, в случае обнаружения ошибки, выдать сообщение:

If Not CheckSpelling(ActiveDocument.Sections(1).Range) Then

MsgBox «Обнаружена ошибка!»

End If

Работа с объектами MS Word 171

Задание верхнего колонтитула

Задать верхний колонтитул первой страницы для второго раздела:

ActiveDocument.Sections(2).Headers(wdHeaderFooterFirstPage).Range = _ «Глава 2»

Семейства Paragraphs, Sentences, Words и Characters

Семейство Paragraphs представляет все абзацы документа, семейство Sentences — все предложения, в семействе Words содержатся слова, а в семействе Characters — символы документа. Все эти семейства устроены одинаковым образом.

Свойства First и Last

К их членам можно обращаться по номерам, свойства First и Last указывают на, соответственно, первый и последний элементы.

Свойства Count

Свойстве Count содержится число элементов в семействе. И для всех этих семейств в любом случае в результате возвращается объект типа Range.

Свойство Alignment

Задать выравнивание по правому краю для первого абзаца:

ActiveDocument.Paragraphs(1).Alignment = wdAlignParagraphRight

Создание вокруг абзаца рамку заданного стиля

Заключить первый абзац в рамку стиля 3D:

ActiveDocument.Paragraphs.First.Borders.OutsideLineStyle = _

wdLineSyleEmboss3D

Вставка текста после заданного абзаца

Вставить текст после последнего абзаца:

ActiveDocument.Paragraphs.Last.Range.InsertAfter «Конец.»

Изменение фона абзаца

Задать для пятого абзаца штриховку (узор) 15%:

ActiveDocument.Paragraphs(5).Shading.Texture = _

wdTexture15Percent

Изменение стиля абзаца

Задать стиль 1-го абзаца Заголовок1:

ActiveDocument.Paragraphs.First.Style = «Заголовок 1»

Изменение стиля абзаца

Аналогичным образом можно обращаться к предложениям документа. Выбрать для первого предложения шрифт Arial:

ActiveDocument.Sentences(1).Font.Name = «Arial»

172 Глава 7. В мире объектов MS Office

Перемещение по тексту

Задать смещение вверх на три пункта для символов первого предложения и вниз на три пункта для второго:

ActiveDocument.Sentences(1).Font.Position = 3

ActiveDocument.Sentences(2).Font.Position = — 3

Метод Delete

Удалить последнее предложение:

ActiveDocument.Sentences.Last.Delete

Преобразование символов в верхний регистр

Преобразовать символы первого предложения в верхний регистр:

ActiveDocument.Sentences(1).Case = wdUpperCase

Изменение начертания символов Выделить первое слово полужирным начертанием:

ActiveDocument.Words.First.Bold = True

Семейство StoryRanges

Семейство StoryRanges также возвращает Range-объект, — оно обеспечивает доступ к различным структурным компонентам текста, таким, как основной текст, примечания, сноски, колонтитулы и др. Выбор нужного компонента осуществляется посредством соответствующей константы. Например, задать шрифт Arial для основного текста документа (не затронув при этом все остальное, как случилось бы при обращении к свойству ActiveDocument.Range), можно при помощи следующего кода:

ActiveDocument.StoryRanges(wdMainTextStory).Font.Name = «Arial»

Выделить полужирным нижний колонтитул 1-й страницы:

ActiveDocument.StoryRanges(wdFirstPageFooterStory).Bold = True

Работа со списками и таблицами документа Word

Word-таблицы

Таблицы в документе Word представлены объектами типа Table, доступными через семейство Tables. Каждая таблица — объект Table — состоит из строк (объекты типа Row, объединенные в семейство Rows) и столбцов (объекты типа Column, объединенные в семейство Rows). Кроме того, таблицу можно рассматривать, как набор ячеек (объектов типа Cell, объединенных в семейство Cells).

Управление границами таблиц

Разрешить отображение границ для первой таблицы документа:

ActiveDocument.Tables(1).Borders.Enable = True

Удаление столбца таблицы

Удалить первый столбец в первой таблице:

Соседние файлы в папке Книги

  • #

    31.05.201530.78 Кб77excel_vba.html

  • #
  • #

    31.05.2015192.38 Кб65VBA.htm

  • #
  • #

Доступ к документам Word с помощью VBA

Если написанная вами VBA-процедура функционирует прямо в документе, вы должны указать объект этого документа непосредственно в коде, Часто вы сможете сделать это неявным образом, используя объект Selection, о котором я расскажу дальше в настоящей главе. Однако в остальных ситуациях вам придется явно идентифицировать целевой объект.

Работа с активным документом

Типичная VBA-процедура в Word выполняет все свои магические действия в том документе, который в данный момент открыт для редактирования. Для указания активного документа используется объект ActiveDocument. Например, приведенная выше инструкция просто закрывает активный документ:

ActiveDocument.Close

Как видите, вам не нужно писать код для определения того, какой же документ редактируется в данный момент: достаточно просто использовать объект ActiveDocument.

Если вам необходимо работать с определенным документом, который сейчас не активен, вы должны указать его как члена коллекции Documents, состоящей изо всех документов, открытых в настоящее время в Word. Как и в случае с любой другой коллекцией объектов в VBA, вы можете обратиться к отдельному документу в коллекции, используя его заголовок, который в данном случае совпадает с именем файла (только именем файла, а не с полным путем к нему). Вот соответствующий пример;

Documents(«Toy Store News letter.doc»)

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

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

Documents(3)

Несмотря на всю простоту, этот метод достаточно ограничен, поскольку вы редко когда знаете индексный номер документа, с которым хотите работать. При этом вам стоит узнать имя открытого документа. Например, следующая инструкция присваивает переменной имя файла второго открытого документа:

strDocName = Documents(2).Name

Для создания нового документа используйте метод Add коллекции объектов Documents. Используемый без каких-либо документов, метод Add создает новый документ, базирующийся на шаблоне Normal (Обычный). Для указания другого шаблона укажите путь к нему в качестве аргумента, как показано ниже:

Documents.Add template:= _

«C:WindowsApplication DataXMicrosoftHidden templates»

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

Documents.Open FileName:= _

«С:ToysToys for infants.doc»

Для активизации уже открытого документа используйте метод Activate коллекции объектов Documents. Предположим, что вам необходимо, чтобы ваша VBA-программа активизировала определенный документ, который в момент запуска программы может быть и открыт, и закрыт. Используйте код, подобный показанному ниже, для активизации открытого документа или открытия документа, если он еще не открыт:

Sub DocActivateOrOpen()

Dim docFileName As String, docPath as String

docFileName = «Старые игрушки.doc»

docPath — «C:Toys»

For Each target Doc In Documents

If targetDoc.Name = docFileName Then

targetDocIsOpen = True

End If

Next targetDoc

If targetDocIsOpen = True Then

Documents(docFileName).Activate

Else

Documents.Open FileName := docPath & docFileName

End If

End Sub

Поскольку каждый документ Word состоит из одного или нескольких разделов, вы можете ожидать, что Word VBA содержит коллекцию Sections и отдельные объекты Section для работы с этими элементами. Так оно и есть. Наиболее важное применение объектов Section — организация доступа к верхним и нижним колонтитулам (через объект Header Footer ). Вы можете добавлять новые разделы в документ, используя метод Add коллекции Sections или метод Insert Break объекта Range или Selection.

Читайте также

Доступ к WMI с помощью сервера сценариев

Доступ к WMI с помощью сервера сценариев
Полное понимание WMI невозможно без знания тех возможностей, которые она предоставляет администратору. Поэтому рассмотрим сейчас некоторые примеры написания сценариев сервера сценариев Windows с использованием возможностей WMI. Раздел

Доступ к базе данных с помощью ASP.NET

Доступ к базе данных с помощью ASP.NET
Ядром любого приложения баз данных является база данных. Для использования базы данных необходимо иметь надежный и безопасный способ подключения. На платформе .NET этот способ реализуется с помощью пространства имен System.Data и одной

Доступ к объектам с помощью Web-служб

Доступ к объектам с помощью Web-служб
Итак, мы приступаем к работе на совершенно новом уровне, т.е. с использованием Web-служб. С самого начала Web-среда рассматривалась как способ передачи данных между двумя точками. Именно эта исходная концепция способствовала развитию и

Поиск и замена текста с помощью VBA в Word

Поиск и замена текста с помощью VBA в Word
Хотя это звучит и несколько необычно, но Find — это объект Word VBA. Объекты Find принадлежат диапазонам и выделенным областям. Для обнаружения или форматирования текста с помощью объекта Find вам потребуется выполнить следующие действия.1.

8.2. Публикация записей в блоге с помощью Word

8.2. Публикация записей в блоге с помощью Word
Нововведением Word 2007 является возможность опубликовывать записи в блоги непосредственно из окна программы. Это очень удобно, поскольку Word имеет гораздо больше возможностей по набору и форматированию текста, чем текстовые

18.2.1. Склонность к большим документам

18.2.1. Склонность к большим документам
Средства подготовки документов в Unix всегда были предназначены, главным образом, для разрешения трудностей, связанных с компоновкой крупных и сложных документов. Первоначально такими документами были патентные заявки и техническая

18.2.1. Склонность к большим документам

18.2.1. Склонность к большим документам
Средства подготовки документов в Unix всегда были предназначены, главным образом, для разрешения трудностей, связанных с компоновкой крупных и сложных документов. Первоначально такими документами были патентные заявки и техническая

ГЛАВА 22. Доступ к базам данных с помощью ADO.NET

ГЛАВА 22. Доступ к базам данных с помощью ADO.NET
Если вы не являетесь профессиональным разработчиком видеоигр, вас, наверное, заинтересует тема доступа к базам данных. Как и следует ожидать, платформа .NET определяет целый ряд пространств имен, обеспечивающих взаимодействие с

MICROSOFT WORD

MICROSOFT WORD

…Я люблю – и значит, я живу, – это из Высоцкого …Я пишу – и значит, я работаю в Word, – это уже из нашей повседневной реальности… Наверное, нет в мире другой столь популярной программы, как текстовый редактор Word (исключая разве что Windows, хотя Word превосходно себя

Word Utilities

Word Utilities
(http://wordutilities.chat.ru/)Эта небольшая, всего 0,3 Мб, программка поможет тем, кто никак не может привыкнуть к переключению языка набора или ставит множество пробелов между словами.? Word Utilities оптимизирует размер межсловных пробелов.? Разберется с короткими строками абзацев.?

MS Word

MS Word
Создание и разметка документаСовременную жизнь нельзя представить без обилия текстовых документов в бумажном и электронном виде.Microsoft Word – один из лучших текстовых редакторов. Он позволяет создавать и редактировать документы, добавлять в них таблицы и рисунки,

2. ТРЕБОВАНИЯ К ПРОГРАММНЫМ ДОКУМЕНТАМ, СОДЕРЖАЩИМ В ОСНОВНОМ СПЛОШНОЙ ТЕКСТ

2. ТРЕБОВАНИЯ К ПРОГРАММНЫМ ДОКУМЕНТАМ, СОДЕРЖАЩИМ В ОСНОВНОМ СПЛОШНОЙ ТЕКСТ

2.1. Построение документа
2.1.1. При необходимости допускается делить документ на части. Деление на части осуществляется на уровне не ниже раздела. Каждую часть комплектуют отдельно. Всем частям

3. ТРЕБОВАНИЯ К ПРОГРАММНЫМ ДОКУМЕНТАМ. СОДЕРЖАЩИМ ТЕКСТ, РАЗБИТЫЙ НА ГРАФЫ

3. ТРЕБОВАНИЯ К ПРОГРАММНЫМ ДОКУМЕНТАМ. СОДЕРЖАЩИМ ТЕКСТ, РАЗБИТЫЙ НА ГРАФЫ
3.1. Программные документы, содержащие текст, разбитый на графы, при необходимости разделяют на разделы и подразделы, которые не нумеруют. Допускается линии, разграничивающие строки и графы, не

Word

Word
Программа Microsoft Word – очень мощный текстовый редактор. Она позволяет сделать с текстом все, что угодно (и не только с текстом). Думаю, что вы уже видели толстые и умные книги по изучению этой программы. Но, по всей вероятности, подавляющее большинство из них не содержит ее

Понравилась статья? Поделить с друзьями:
  • Vba word текущая папка
  • Vba word текстовые функции
  • Vba word текст по центру
  • Vba word текст закладки
  • Vba word текст в ячейке таблицы