使用VBA将表从Excel粘贴到Word作为“使用目标样式”粘贴

时间:2013-09-05 15:04:14

标签: excel vba ms-word styles copy-paste

我有一个宏,它当前从Excel电子表格中的一系列单元格中复制一个表格,然后将其粘贴到Word文档(之前在宏中创建为WordApp)。但是,我希望通过粘贴选项"使用目标样式"将其粘贴到Word文档中。这是Word中的粘贴样式选项之一。有谁知道是否有办法将其嵌入到Excel的VBA代码中?

这是我当前的代码(假设" WordApp"是昏暗的单词应用程序,并且代码中已经考虑了新的文档。)

         'Select table data
            Sheets("Sheet3").Select
            Range("I11:P18").Select
            Selection.Copy
         'Paste table into word doc
            WordApp.Selection.TypeParagraph
            WordApp.Selection.Paste

非常感谢任何帮助,所以我终于可以完成这个巨大的VBA项目了!

编辑:

不幸的是,这不起作用 - 它以我不想要的格式粘贴它。我尝试使用此代码,但我得到了运行时错误5342,其中表示"指定的数据类型不可用"和亮点.PasteAndFormat代码行。有谁知道为什么会有错误?我从对象浏览器中获取了该代码,所以我不确定它为什么不能识别它:

        Sheets("Sheet3").Select
        Range("H21:P34").Select
        Selection.Copy
    'Paste Q1-7 table into word doc
        WordApp.Selection.PasteAndFormat (WdPasteOptions.wdUseDestinationStyles)

请,任何能解决这个问题的人,我都会非常感激。这是我正在研究的一个巨大的宏项目的最后细节,我只是想把它包起来。

2 个答案:

答案 0 :(得分:1)

我自己想通了。以下是将其粘贴为表格的代码,我希望将其粘贴的方式,而不必使用word的粘贴作为目标样式选项。

        Sheets("Sheet3").Select
        Range("H21:P34").Select
        Selection.Copy
    'Paste Q1-7 table into word doc
        WordApp.Selection.PasteExcelTable False, True, False

答案 1 :(得分:0)

WordApp.Selection.Range.PasteSpecial DataType:=wdPasteText

这有用吗?我有一个宏只将一个单元格文本粘贴到Word中,但我没有可用于在Word中测试它的资源。 (如果我有50个代表,我会写一个评论,很抱歉为此做了一个完整的答案。)