我想知道如何缩进从MS Word中的Excel表粘贴的内容。当我遇到错误时,当前代码中可能有什么问题?
我尝试使用rngPara.Indent
。我当前的代码在Excel范围内运行,并根据每种情况选择“案例”并建立Word文档。当前案例粘贴table5 Case "table5"
我当前要复制的代码中的一部分-粘贴Excel表:
Dim wdRngPL As Object 'Word.Range
Set wdRngPL = .Range.Characters.Last
Case "table5"
ThisWorkbook.Sheets("Pricelist").Range("B31:D681").Copy
With wdRngPL
Set rngPara = .Paragraphs.Last.Range
rngPara.Style = "Attachment"
rngPara.PasteExcelTable False, False, False
'.Tables(.Tables.Count).AutoFitBehavior wdAutoFitWindow
.Font.Hidden = 0
rngPara.Indent
Set rngPara = Nothing
End With
我想模拟手工作业。如果删除rngPara.Indent
,则过程将如下所示。表已从Excel粘贴到Word。我必须转到Word文档,选择我的表,然后按一次增加缩进量。
答案 0 :(得分:1)
由于表被粘贴在Range
的末尾,因此可以直接拾取Table
对象:
Dim tbl as Word.Table 'or Object
Set tbl = wdRngPL.Tables(wdRngPl.Tables.Count)
从这一点开始,获取表格的范围并应用所需的格式:
tbl.Range.Paragraphs.Indent
问题中的代码未提供预期结果的原因是因为rngPara
可能不包含粘贴的内容。要查看这种情况,例如,插入一个Select
方法(rngPara.Select),在其后的行上设置一个断点,然后在Word文档中查看所选内容。这将提供有关解决所需对象所需内容的线索。