2) Добавление
текста в документ Word.
В этом примере описываются основные приёмы
последовательного добавления текста в документ Word. Для правильного
использования данных приёмов нужно представлять принцип построения документа Word.
Основным
принципом структуры текста в Word-е можно назвать то, что текст делится на
параграфы. Сам текст не привязан к какому-либо конкретному месту листа, как это
происходит в SCADa системах. В Word-е можно в конкретное место листа
(по каким-либо координатам ) вставить графические элементы (линии,
прямоугольники, рисунки и т.д.), а текст не является жесткой структурой. Весь
текст в документе вводится последовательно и так или иначе связан между собой.
Вы можете, например, изменить размер части текста и при этом тот текст который
находится ниже изменит своё положение на листе. Весь текст в документе разбит
на параграфы, когда вы при работе в Word и нажимаете <Enter>,
вы начинаете с новой строки, то есть начинаете новый параграф. При
последовательном добавлении (программно) текста, он вводится в место
расположения курсора. В новом документе с самого начала области печати, а в
открытом (программно) документе текст добавляется к существующему тексту (по
умолчанию), если вы не принимаете специальных мер. Нужно обязательно помнить,
что следующий вводимый текст или параграф будет печататься с теми же
параметрами, что были заданы предыдущему тексту. Поэтому внимательно следите за
тем, что вы вводите.
а) Ввод нового текста.
Перед этим вы
должны создать или открыть документ Word, как это было описано в первой статье.
Я лично предпочитаю создавать новый документ, ведь при этом вы можете, не
зависимо от установок на конкретном компьютере, делать документ, параметры
которого целиком задаёте вы.
При добавлении
текста он выделяется и если вам необходимо вводить последующий текст с новыми
параметрами, вы должны снять выделение с предыдущего текста.
Добавляем текст
к концу предыдущего.
'печатаем какой
то текст (при этом он выделен)
DocWord.Application.Selection.InsertAfter "Первая строка текста (синий, 12 пт,"
DocWord.Application.Selection.InsertAfter
" Tahoma, полужирный)"
'делаем
выделенный текст полужирным "Font.Bold=True"
DocWord.Application.Selection.Font.Bold
= True
'делаем
выделенный текст синим
DocWord.Application.Selection.Font.Color
= wdColorBlue
'делаем
выделенный текст размером 12 пунктов
DocWord.Application.Selection.Font.Size
= 12
'делаем текст
шрифтом "Tahoma"
DocWord.Application.Selection.Font.Name
= "Tahoma"
'снимаем
выделение с текста
DocWord.Application.Selection.EndOf
Данная строка кода добавляет параграф ниже
существующего.
'начинаем с
новой строки, то есть новый параграф (при этом параметры
'текста как в
предыдущей строке)
DocWord.Application.Selection.InsertParagraphAfter
Печатаем новый
параграф.
With DocWord.Application.Selection
'печатаем какой то текст (при этом он
выделен)
'и
используем Tab для отступа
.InsertAfter vbTab & "Вторая строка текста с отступом
(обычный"
.InsertAfter ", черный, 14 пт,
Arial)"
'текст напечатался с параметрами текста в
'предыдущем параграфе, поэтому
'вводим новые параметры
'делаем выделенный текст простым "Font.Bold= False"
.Font.Bold
= False
'делаем выделенный текст черным
.Font.Color = wdColorBlack
'делаем выделенный текст размером 14 пунктов
.Font.Size = 14
'делаем текст шрифтом "Arial"
.Font.Name = "Arial"
'снимаем выделение с текста
.EndOf
'начинаем с новой строки, то есть новый параграф
'(при этом параметры текста как в предыдущей строке)
.InsertParagraphAfter
'делаем строку промежуток
.InsertParagraphAfter
End
With
б) Печатаем текст различными стилями.
With DocWord.Application.Selection
'печатаем текст (при этом он выделен)
'и
используем Tab для отступа
.InsertAfter vbTab & "Простой текст, "
'делаем выделенный текст простым "Font.Bold= False"
.Font.Bold = False
'делаем выделенный текст черным
.Font.Color
= wdColorBlack
'делаем выделенный текст размером 14 пунктов
.Font.Size
= 14
'делаем текст шрифтом "Arial"
.Font.Name = "Arial"
'снимаем выделение с текста
.EndOf
'печатаем текст
.InsertAfter "полужирный текст, "
'делаем выделенный текст полужирным "Font.Bold=True"
.Font.Bold = True
'снимаем выделение с текста
.EndOf
'печатаем текст
.InsertAfter "текст курсив, "
'делаем текст обычным (выше был полужирный)
.Font.Bold
= False
'делаем текст курсивом
.Font.Italic = True
'снимаем выделение с текста
.EndOf
'печатаем текст
.InsertAfter "полужирный курсив, "
'делаем текст полужирным
.Font.Bold = True
'снимаем выделение с текста
.EndOf
'печатаем текст
.InsertAfter "подчеркнутый текст, "
'делаем текст простым (отключаем Bold, Italic)
.Font.Bold = False
.Font.Italic = False
'делаем текст с подчеркиванием (выбирая разные константы
'делаем перечеркнутый,двойное подчеркивание и т.д.)
.Font.Underline = wdUnderlineSingle
'снимаем выделение с текста
.EndOf
'печатаем текст
.InsertAfter "окончание стилей."
'делаем текст простым (отключаем подчеркивание)
.Font.Underline = wdUnderlineNone
'снимаем выделение с текста
.EndOf
End
With
Продолжение и пример в
следующей статье.