将表格从Excel粘贴到Word中

将表格从Excel粘贴到Word中,excel,vba,ms-word,Excel,Vba,Ms Word,我想知道如何在MS Word中缩进从Excel表粘贴的内容。当我遇到错误时,我当前的代码中可能有什么错误 我已尝试使用rngPara.Indent。我当前的代码在Excel范围内运行,提取“案例”,并根据每个案例构建Word文档。当前案例粘贴表5案例“表5” 复制粘贴Excel表的当前代码中的部分: Dim wdRngPL As Object 'Word.Range Set wdRngPL = .Range.Characters.Last Case "table5"

我想知道如何在MS Word中缩进从Excel表粘贴的内容。当我遇到错误时,我当前的代码中可能有什么错误

我已尝试使用
rngPara.Indent
。我当前的代码在Excel范围内运行,提取“案例”,并根据每个案例构建Word文档。当前案例粘贴表5
案例“表5”

复制粘贴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文档选择我的表格,并点击一次增加缩进

由于表格粘贴在
范围的末尾
可以直接拾取
表格
对象:

Dim tbl as Word.Table 'or Object
Set tbl = wdRngPL.Tables(wdRngPl.Tables.Count)
从该点开始,获取表的范围并应用所需的格式:

tbl.Range.Paragraphs.Indent

问题中的代码没有给出预期结果的原因是
rngPara
可能不包含粘贴的内容。要查看此类内容,请插入
Select
方法(rngPara.Select),例如,在其后的行上设置断点,然后在Word文档中查看所选内容。这将为解决所需对象提供所需内容的线索。

您希望缩进什么-表格本身还是单元格内容?你想缩进多少?@macropod我想把桌子从左边缩进2,3厘米谢谢你的帮助!我收到一个错误,用户定义的类型没有定义,调试器将Dim tbl指向Word.Table或Object,我有很多“case”,实际上在代码完成后,Word文档中的所有表都必须缩进。也许最好是缩进所有的表?@user7202022,如果您使用后期绑定,则有
或Object
。尝试作为对象而不是Word.Table暗显。对于第二条评论:可能-你需要决定。。。现在您已经有了缩进表格的代码,请对其进行测试,看看有什么更好的方法。对于每种情况,有效的解决方案都是在我的代码中的
.Tables(.Tables.Count).Range.parations.Indent
之后缩进
。.Tables(.Tables.Count).autofitWindow
。不过,了解如何缩进所有表会很有趣