Как вставить строки в формате HTML в документ Microsoft Word, используя Visual Basic, сохранив форматирование? - PullRequest
7 голосов
/ 02 октября 2008

Я использую Visual Basic и интерфейс автоматизации для извлечения строк из внешнего приложения. Эти строки содержат простые коды форматирования HTML (, и т. Д.). Есть ли в Visual Basic для Word простая функция для вставки этих строк в текстовый документ и преобразования кодов форматирования html в форматирование слов?

Ответы [ 4 ]

13 голосов
/ 02 октября 2008

Вот ссылка для добавления HTML в буфер обмена с помощью VB:

http://support.microsoft.com/kb/274326

Как только у вас будет HTML в буфере обмена, вставьте его в документ Word, используя что-то вроде этого:

ActiveDocument.Range.PasteSpecial ,,,,WdPasteDataType.wdPasteHTML

Это в значительной степени эквивалентно тому, как вы вырезали и вставляли его вручную.

1 голос
/ 17 июня 2015

Использовать InsertFile

Set objdoc = objInsp.WordEditor
Set objword = objdoc.Application
Set objsel = objword.Selection
objsel.WholeStory
vs_html = "<html><body>" + vs_body + "</body></html>"
vs_file = "C:\temp\1.html"
Call DumptoFile(vs_file, "", vs_html, False)
RetVal = objsel.InsertFile(vs_file, , , False, False)
0 голосов
/ 07 апреля 2019

Я использую 2016 год. Единственное, что сработало, это Range.InsertFile (path). Специальная вставка не сработала.

0 голосов
/ 02 октября 2008

AFAIK, в VBA нет встроенной функции для этого. Вам придется написать это самостоятельно, что было бы не слишком сложно, если вы перестанете его анализировать, например, <b>, <i>, <a> and <p>,. Все остальные теги следует игнорировать.

...