如何将使用 HTML 访问格式的富文本转换为 Word 文档

How to get rich text, which Access formats using HTML, into a Word doc

我正在将带格式的文本从 Word 文档复制到 Access 中的富文本字段中。

稍后我想使用VBA创建一个新的Word文档并将文本写入其中。

问题是,Access 以 HTML 格式保存富文本。当您尝试将其写入 doc 或 docx 时,您会看到文本及其 HTML 标签。

如何将文本写入 Word 文档以使其保留预期的格式并且不显示 HTML 代码?

不确定这是否有帮助,但 Microsoft Word 中有一些不同的粘贴功能(在 'Home' 选项卡的左上角)很多人都忽略了

这允许您粘贴 with/without 格式。不确定它是否能解决您的具体问题,但希望如此!

我发现唯一可行的方法(不修改输入字符串)是将 HTML 写入临时文件,然后使用 .InsertFile 将该文件加载到 word 文档中。这是一个接受输入参数并将其放入新 Word 文档的子程序:

Sub WriteToWord(myHtmlFormattedText as String)

    Dim objWord As Word.Application
    Dim doc As Word.Document    
    Dim fso As Object  ' FileSystemObject
    Dim f As Object  ' TextStream
    Dim tempHtmlFile As String

    ' Write your HTML content to a temp file:
    Set fso = CreateObject("Scripting.FileSystemObject") 
    tempHtmlFile = fso.GetSpecialFolder(2) & "\" & fso.GetTempName & ".htm"

    Set f = fso.CreateTextFile(tempHtmlFile, True)
    f.Write myHtmlFormattedText
    f.Close
    Set f = Nothing
    Set fso = Nothing


    ' Set up word object
    Set objWord = CreateObject("Word.Application")
    With objWord
        .Visible = True
        Set doc = .Documents.Add
    End With

    'Add HTML file contents:
    objWord.Selection.InsertFile tempHtmlFile

    ' Show the doc
    doc.Activate
End Sub