CoderNotes - заметки программиста

Публикации  »  Visual Basic Scripting (VBS)
Бесплатный хостинг + SSL-сертификат

Зарегистрируйте домен и получите 2 месяца бесплатного хостинга и SSL-сертификат на 1 год в подарок

Подробнее
Skillbox

Как прочитать / записать Word документ на VBScript

Иногда бывает задача получить какие-либо данные из word-кого документа и потом что-то с ними сделать дальше. Так же бывает и обратная задача: необходимо создать Word документ и записать в него какие-либо данные, а затем сохранить его на диск.

В данной заметке приведены небольшие примеры, показывающие как открыть word документ и прочитать из него текстовые данные на VBScript, а так же как создать пустой word документ, добавить в него текстовые данные, а затем записать его.

Пример чтения Word документа на VBScript

Set Wrd = CreateObject("Word.Application")
Set Doc = Wrd.Documents.Open("C:\test.doc")
Set Pars = Doc.Range().Paragraphs
For Each Par In Pars
  txt = Par.Range.Text
  ' Что-то делаем с текстовыми данными из word-кого документа

Next
Doc.Close
Wrd.Quit False

Сначала запускаем Word в 1-й строке, во 2-й строке открываем word-кий документ (путь лучше указывать абсолютный).

Затем в 3-й строке получаем все параграфы, которые есть в документе и в 4-й строке в цикле проходим по всем.

В двух последних строках закрываем документ и закрываем сам Word, изменения не сохраняем (False).

Пример создания Word документа и добавления текста на VBScript

Set Wrd = CreateObject("Word.Application")
Set Doc = Wrd.Documents.Add()

Set Par = Doc.Content.Paragraphs.Add
Par.Range.Text = "Пример текста"
Par.Range.Font.Bold = True
Par.Range.InsertParagraphAfter()

Doc.SaveAs("c:\Мои документы\test.docx")
Wrd.Quit

Первые 2 строки запускают Word и содают новый документ.

Строки 4-7 добавлют параграф с текстом, выделенным жирным шрифтом.

Последние строки сохраняют документ под именем test.docx и закрывают word.

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

Set Wrd = CreateObject("Word.Application")
Set Doc = Wrd.Documents.Add()

Set Table = Doc.Tables.Add(Doc.Bookmarks.Item("\endofdoc").Range, 3, 5)
Table.Range.ParagraphFormat.SpaceAfter = 6
For r = 1 To 3
  For c = 1 To 5
    Table.Cell(r, c).Range.Text = "Ячейка " & r & " x " & c
  Next
Next
Table.Rows.Item(1).Range.Font.Bold = True
Table.Rows.Item(1).Range.Font.Italic = True

Doc.SaveAs("c:\Мои документы\test.docx")
Wrd.Quit

Эти простые примеры показывают минимальные возможности автоматизации чтения и записи word документов на VBScript, а дальше, можно написать более сложные программы, используя те же приемы, что используются в Visual Basic или других языках для работы с word-ом.

Категория: Visual Basic Scripting (VBS)

Комментарии к статье:

15.01.20   Гость Спасибо!
08.09.21   Владимир Спасибо! Можете еще добавить код чтоб сохранял как PDF и отправлял по почте?

Добавить комментарий: