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

时间:2015-12-14 21:11:16

标签: html ms-access formatting access-vba richtext

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

稍后我想使用VBA创建一个新的Word文档,并将文本格式化为它。

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

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

2 个答案:

答案 0 :(得分:2)

我发现有效的方法(不修改输入字符串)是将HTML写入临时文件,然后使用.InsertFile将该文件加载到word文档中。这是一个sub,它接受输入参数并将其放入一个新的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

答案 1 :(得分:0)

不确定这会有所帮助,但Microsoft Word中有一些不同的粘贴功能(位于' Home'标签的左上角),很多人都忽略了

Paste Options

这允许您使用/不使用格式进行粘贴。不确定它是否会解决您的具体问题,但希望如此!