[英]How to copy a range in excel and then resize and paste in word with a macro
[英]Macro to copy excel range of data as table to word goes outside margins
我想编写宏以将表格从Excel复制到Word。 它应该保持格式,并且必须自动适应单词。 粘贴到单词时,表格不应超出范围。
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
以上代码令人担忧。 它将Excel范围的数据作为表格复制到Word。 但是表超出了Word文档的边距。 Excel中的数据- 复制后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周围
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.