如何将使用 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
我正在将带格式的文本从 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