macros表复制excel范围内的数据作为表格到词外边距

我想写macros从Excel复制表格到单词。 它应该保持格式,并且必须自动适合单词。 粘贴到文字上时,表格不应该超出范围。

Dim wdApp As Object Dim wd As Object On Error Resume Next Set wdApp = GetObject(, "Word.Application") If Err.Number <> 0 Then Set wdApp = CreateObject("Word.Application") End If On Error GoTo 0 Set wd = wdApp.Documents.Add wdApp.Visible = True Sheets("Sheet1").Select Range("A1:E36").Select Selection.Copy wdApp.Selection.PasteExcelTable False, False, False 

以上代码。 它将数据的范围复制到表格中。 但是表格超出了word文档的边界。 Excel中的数据 – 源数据在Excel中 复制后Word中的数据 – 复制到Word后

添加到最后

 wd.Tables(1).AutoFitBehavior wdAutoFitWindow 

尝试这个:

 wdApp.Selection.PasteExcelTable False, True, False 'causing losing excel formatting 

附:

 'change fileformat and filename as per your need wdApp.Selection.PasteExcelTable False, False, False wd.SaveAs Filename:="demo.docm", FileFormat:=wdformatdocm wd.Tables(1).AutoFitBehavior wdAutoFitContent 'you may try wdAutoFitWindow as well 

尝试

 wd.Tables(1).Range.ParagraphFormat.SpaceAfter = 0 

在wdAutoFitWindow周围放一个括号