Програмне створення і відкриття документів word в vba

Колекція Word.Documents, методи Add (), Open (), Item (), програмне створення і відкриття документів Word в VBA

Колекція Documents, як уже говорилося, являє всі документи Word, відкриті в даний момент. Починається нумерація документів в колекції з 1. З властивостей цієї колекції інтерес може представляти тільки властивість Count - кількість відкритих документів. Набагато важливіше методи цієї колекції. Про деякі з них ми вже говорили в попередньому розділі, але тут для довідки при наведемо інформацію про них ще раз:

  • Add () - цей метод дозволяє створити і відразу ж відкрити новий документ (і повернути посилання на його об'єкт). Це - найбільш поширений спосіб створення нових документів в Word. Повний синтаксис цього методу виглядає як

Add (Template, NewTemplate, DocumentType, Visible)

Template - це шаблон для створення нового документа, NewTemplate (true / false) - робити новий документ шаблоном, DocumentType - варіанти: wdNewBlankDocument. wdNewEmailMessage, wdNewFrameset або wdNewWebPage (за замовчуванням - новий чистий документ), Visible - чи буде новий документ видимим (за замовчуванням) або невидимим.

  • Open () - цей ще один найважливіший метод колекції Documents дозволяє відкрити документ з диска і додати його в колекцію. Цей метод приймає безліч параметрів, з яких обов'язковим є тільки один - ім'я документа (разом з шляхом до нього). Найпростіший варіант застосування цього методу виглядає так:

Dim oDoc1 As Document

Set oDoc1 = Documents.Open ( "c: \ doc1.doc")

  • метод Item () дозволяє знайти потрібний документ в колекції по його індексу. Але зазвичай для отримання посилання на потрібний документ використовується конструкція For..Next з перевіркою значення якої-небудь властивості документа через If. Найчастіше це властивість - Name:

Dim oDoc1 As Document

For i = 1 To Documents.Count

Set oDoc1 = Documents.Item (i)

If oDoc1.Name = "doc1.doc" Then

Set oDoc1 = Nothing

Ця конструкція повертає посилання у вигляді змінної oDoc1 на документ doc1.doc, якщо він точно є в колекції. Якщо його немає, то щоб уникнути помилок потрібно реалізовувати додаткові перевірки. На практиці можна було б подумати, чи не потрібно вам перед порівнянням привести ім'я документа doc1.doc в нижній регістр - якщо враховувати регістр букв при пошуку вам не потрібно.

Через властивість Item можна отримати доступ до об'єкта документа безпосередньо. Наприклад, в цьому прикладі ми отримуємо ім'я першого документа в колекції Documents:

  • методи Save () і Close () - дозволяють зберегти і закрити всі документи в колекції відповідно.
  • методи CanCheckOut () (чи можна "забрати" документ в монопольний доступ) і CheckOut () (забрати документ в монопольний доступ) можна застосовувати, якщо документ знаходиться в документної бібліотеці в базі даних SharePoint Portal Server.

Схожі статті