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

问题描述 投票:7回答:4

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

html ms-word word-vba
4个回答
13
投票

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

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

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

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

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


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)

0
投票

AFAIK在VBA中没有内置功能。你必须自己编写,如果你重新解析它来解析<b>, <i>, <a> and <p>,就不会太困难了。必须忽略所有其他标签。


0
投票

我正在使用2016.唯一有效的是Range.InsertFile(path)。 Pasting Special不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.