繁体   English   中英

当表格到单词超出边距时,用于复制Excel数据范围的宏

[英]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中的数据- 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周围

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM