将Excel工作表复制到Word

时间:2011-04-04 10:43:10

标签: excel excel-vba ms-word copy paste vba

我需要将工作表'GreatIdea'导出到Word文档。 'GreatIdea'分为几页,我的专栏基于这些页面。

A - C包含目录,D - F包含第1章,......

Sub test()

' Open LOL.docx'
Dim appWD As Word.Application
Set appWD = New Word.Application
Dim docWD As Word.Document
Set docWD = appWD.Documents.Open("C:\Users\TOM\Desktop\LOL.docx")
docWD.Activate
Sheets("Sheet1").Select

' Copy from GreatIdea to LOL.docx'

Range("A1:K40").Copy
appWD.Selection.PasteSpecial

appWD.ActiveDocument.SaveAs Filename:=ThisWorkbook.Path & "/" & "OEF_OFFERTE"
appWD.ActiveDocument.Close
appWD.Quit
Set appWD = Nothing
Set docWD = Nothing

End Sub

这会将所有内容复制到Word中,但不会复制列布局。其他复制一切的解决方案也被接受。我只需要确保每列中的所有数据都被复制。

Mike的回答编辑:

 Range("A1:C40").Copy
 appWD.Selection.PasteExcelTable LinkedToExcel:=False, WordFormatting:=False, RTF:=True

1 个答案:

答案 0 :(得分:3)

当你在WORD应用程序(AppWD)中时,有一个更好的功能:

expression.PasteExcelTable(LinkedToExcel, WordFormatting, RTF)

尝试其中一个

AppWD.Selection.PasteExcelTable False, True, True   ' aequivalent to PasteSpecial As RTF
AppWD.Selection.PasteExcelTable False, False, True  ' keeps Excel formats
AppWD.Selection.PasteExcelTable False, False, False ' aequivalent to PasteSpecial As HTML
祝你好运 - MikeD