微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从选定的 excel 文件复制数据透视表的输出表并将其粘贴到打开的 word 文档中的某个位置,从 word doc

如何解决从选定的 excel 文件复制数据透视表的输出表并将其粘贴到打开的 word 文档中的某个位置,从 word doc

我有一个 Word 文档,其中包含一个现有的用户表单,它从用户表单中获取值并将它们放入整个文档的内容控件中。

目前用户必须定位一个特定的excel文档(每次不同的文档和位置),从特定工作表上的数据透视表中复制输出表,并在宏填充后将其粘贴到word文档中的特定位置内容控件。

我现在想添加自动完成此操作的功能,弹出文件资源管理器并允许用户导航到特定的 excel 文件并使用宏一词,然后从所选数据透视表中复制输出表excel 文件并粘贴到 word 文档中的特定位置。

到目前为止,我已经能够打开文件资源管理器,并允许我导航并选择特定的 Excel 工作表并将光标移动到文档中的正确点,但是当代码尝试粘贴数据透视表时,我得到了错误“运行时错误‘438’:对象不支持属性方法”,调试器突出显示 pt.TableRange1.Paste 行。

任何建议,非常感谢 - 这是我目前拥有的代码。其基础取自另一份文件,因此暗淡的和设置但不确定我是否最终可能需要一些所以将它们留在里面。

在excel文档的数据透视表选项中,数据透视表的名称是“Pivottable3”(我没做过)。

Dim doc As Document
Set doc = ActiveDocument
Dim j As Long

Dim tbl As Table

Dim openDialog As Office.FileDialog
Dim MyExcel As Excel.Application
Dim MyWB As Excel.Workbook
Set MyExcel = New Excel.Application

Dim tmpIntStr As Variant
Dim tmpInt As Integer

Dim cc As ContentControl

Dim borderrange As Range

Set openDialog = Application.FileDialog(msoFileDialogFilePicker)
openDialog.Filters.Clear
openDialog.Filters.Add "Excel Files","*.xlsx"

' --------------------------------------------------------------------

' Use Open dialog to get the RA file path
If openDialog.Show Then
    txtRAPath = openDialog.SelectedItems(1)
    Set MyWB = MyExcel.Workbooks.Open(txtRAPath)
Else
    Exit Sub
End If

' Check that the RA is a compatible version

Worksheets("PriceTable").Activate

Set pt = Worksheets("PriceTable").Pivottables("Pivottable3")

pt.TableRange1.copy

' Move cursor to correct place

For Each cc In ActiveDocument.ContentControls
If cc.Tag = "PT" Then
cc.Range.Select
Exit For
End If
Next

pt.TableRange1.Paste

MyWB.Close

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。