将缩进表从Excel粘贴到Word中

时间:2019-05-23 13:35:56

标签: excel vba ms-word

我想知道如何缩进从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文档,选择我的表,然后按一次增加缩进量

1 个答案:

答案 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文档中查看所选内容。这将提供有关解决所需对象所需内容的线索。