簡體   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