如何在保留格式的同时使用Visual Basic将HTML格式的字符串插入Microsoft Word文档?

时间:2008-10-02 09:36:54

标签: html ms-word word-vba

我使用Visual Basic和自动化接口从外部应用程序检索字符串。这些字符串包含简单的html格式代码(< b>,< i>等)。 Visual Basic for Word中是否有任何简单的函数将这些字符串插入到Word文档中并将html格式代码转换为字格式?

4 个答案:

答案 0 :(得分:13)

这是使用VB将HTML添加到剪贴板的链接:

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

在剪贴板上放置HTML后,请使用以下内容将其粘贴到word文档中:

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

这几乎相当于您手动剪切和粘贴它。

答案 1 :(得分:1)

使用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)

答案 2 :(得分:0)

AFAIK在VBA中没有内置功能。您将不得不自己编写,如果您将其解析为例如解析<b>, <i>, <a> and <p>,,则不会太困难。所有其他标签都必须被忽略。

答案 3 :(得分:0)

我正在使用2016。唯一起作用的是Range.InsertFile(path)。粘贴特殊功能无效。