当我将rtf数据“导入”到word中时,格式的保存方式与打开rtf文件时的保存方式不同。
我有很多rtf文件,希望将它们组合成word。当我使用代码保存csv文件时,格式或rtf文件丢失。
'Define Source
On Error GoTo ErrorHandlerSourcePathIsEmpty
Set SourceContent = Documents.Open(SourceFolder & "\" & TestFile.RTF, Visible:=False)
On Error GoTo 0
'Insert source data into target.
'
On Error GoTo ErrorHandlerTargetBookmark1
wrdDoc.Bookmarks(TargetBookmark1).Range = SourceContent.Range.Text
Application.ScreenUpdating = True
On Error GoTo 0
我缺少诸如“ format:= SourceFormat”之类的东西吗?
答案 0 :(得分:0)
Text
属性从不携带格式信息,仅包含字符串(字符)。
有两种方法可以将另一个文件的插入格式的注释插入打开的文档中。由于看起来“源内容”文档不应该执行任何操作,因此无需打开它。在这种情况下,通常会首选第一种可能性(InsertFile
方法):需要更少的资源,执行速度更快。
使用InsertFile
方法:
Dim sourceContent as String
sourceContent = SourceFolder & "\" & TestFile.RTF
wrdDoc.Bookmarks(TargetBookmark1).Range.InsertFile sourceContent
使用FormattedText
属性:
与Text
属性不同,FormattedText
进行格式化。需要同时为目标范围和源范围设置该属性。
Dim SourceContent as Word.Document
Set SourceContent = Documents.Open(SourceFolder & "\" & TestFile.RTF, Visible:=False)
wrdDoc.Bookmarks(TargetBookmark1).Range.FormattedText = SourceContent.Content.FormattedText