我想知道如何从MS Word中的Excel表粘贴下来。当我遇到错误时,我当前的代码可能有什么问题?
我尝试使用rngPara.Indent
。我当前的代码在Excel范围内运行,并拾取"案例",并根据每种情况构建Word文档。当前的情况糊状表5 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文档选择我的表格,然后单击增加凹痕一次。
由于表是在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 Document中查看所选择的内容。这将提供有关解决所需对象所需的线索。