我正在将Word文档中的格式化文本复制到Access中的富文本字段。
稍后我想使用VBA创建一个新的Word文档,并将文本格式化为它。
问题是,Access使用HTML格式保存富文本。当您尝试将其写入doc或docx时,您会看到文本及其HTML标记。
如何将文字写入Word文档,以便保留预期的格式并且不显示HTML代码?
答案 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)