我使用以下代码将范围从 Excel 复制到 Word。该范围包含具有所有格式和行间距(更具体的是行高)的确切内容。为了保持行高,我使用下面的代码。但是,当我使用下面的代码粘贴它时,它还会保留指向 Excel 表格的链接,当双击 Word 时,它会在 Word 中打开 Excel 编辑器。
我想要做的是保留内容格式(如在 Excel 中)并将其导出到 Word,而不链接到 Excel 表格。如果我不使用“DataType:=wdPasteOLEObject”Word 会选择自己的行高。
Sub ExportRangeToWord()
Set obj = CreateObject("Word.Application")
obj.Visible = True
Set newObj = obj.Documents.Add
Sheets("FinalContent").Activate
Sheets("FinalContent").UsedRange.Copy
newObj.Range.PasteSpecial Link:=False, DataType:=wdPasteOLEObject, Placement:=wdInLine, DisplayAsIcon:=False
Application.CutCopyMode = False
obj.Activate
Sheets("MainSheet").Activate
End Sub
知道如何删除链接,尽管它说“Link:=False”。
例如:
Sub ExportRangeToWord()
Dim wdApp As New Word.Application, WdDoc As Word.Document
With wdApp
.Visible = True
Set WdDoc = .Documents.Add
Sheets("FinalContent").UsedRange.Copy
WdDoc.Range.PasteAndFormat Type:=wdFormatOriginalFormatting
' or:
'WdDoc.Range.PasteExcelTable LinkToExcel:=False, WordFormatting:=False, RTF:=False
WdDoc.Activate
Application.CutCopyMode = False
End Sub
请注意,代码包含两种可能的粘贴数据的方法。