Я использую Visual Basic и интерфейс автоматизации для извлечения строк из внешнего приложения. Эти строки содержат простые коды форматирования HTML (, и т. Д.). Есть ли в Visual Basic для Word простая функция для вставки этих строк в текстовый документ и преобразования кодов форматирования html в форматирование слов?
Вот ссылка для добавления HTML в буфер обмена с помощью VB:
http://support.microsoft.com/kb/274326
Как только у вас будет HTML в буфере обмена, вставьте его в документ Word, используя что-то вроде этого:
ActiveDocument.Range.PasteSpecial ,,,,WdPasteDataType.wdPasteHTML
Это в значительной степени эквивалентно тому, как вы вырезали и вставляли его вручную.
Использовать 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)
Я использую 2016 год. Единственное, что сработало, это Range.InsertFile (path). Специальная вставка не сработала.
AFAIK, в VBA нет встроенной функции для этого. Вам придется написать это самостоятельно, что было бы не слишком сложно, если вы перестанете его анализировать, например, <b>, <i>, <a> and <p>,. Все остальные теги следует игнорировать.
<b>, <i>, <a> and <p>,