如何使用VBA以编程方式将Excel电子表格嵌入Word文档

如何使用VBA以编程方式将Excel电子表格嵌入Word文档,vba,excel,Vba,Excel,我有一个Excel VBA脚本,它从几个文件中提取数据,并以适合业务需要的特定格式构建一个表。我在主Excel文件中的隐藏工作表中构建表,并按预期完成所有工作 但是,我需要将该表插入到Word文件中。我知道如何制作表格,但我想试着做一个嵌入的Excel文件,因为这样所有的格式都可以传输 我创建了一个附带的Word文件,其中嵌入了一个占位符Excel对象。我在选择窗格中为对象(或“形状”)命名。这叫发票 我可以打开Word文档,我知道如何更改基本形状/对象,例如仅更改命名文本框中的文本,但我不知道

我有一个Excel VBA脚本,它从几个文件中提取数据,并以适合业务需要的特定格式构建一个表。我在主Excel文件中的隐藏工作表中构建表,并按预期完成所有工作

但是,我需要将该表插入到Word文件中。我知道如何制作表格,但我想试着做一个嵌入的Excel文件,因为这样所有的格式都可以传输

我创建了一个附带的Word文件,其中嵌入了一个占位符Excel对象。我在选择窗格中为对象(或“形状”)命名。这叫发票

我可以打开Word文档,我知道如何更改基本形状/对象,例如仅更改命名文本框中的文本,但我不知道如何获得对嵌入工作表的可用引用,以便可以在其上调用Excel VBA命令,并基本上用我在脚本中先前生成的表替换它

到目前为止,我是这样打开Word文件的链接的:

Set wApp = CreateObject("Word.Application")
wApp.Visible = True

Set wDoc = wApp.Documents.Open(filename:=ThisWorkbook.path & "\TestAccount.docx")

With wDoc
    .Shapes("InvoiceXLS").OLEFormat.Edit ' ???
    ' How do I get a Worksheet object that I can work with??
    ' Or, just paste in a whole table over top?
End With

提前感谢您的帮助

t这是从录制的宏。。。。录制后添加了文件名(intellisense显示文件名参数)
Selection.InlineShapes.AddOLEObject类类型:=“Excel.Sheet.12”,文件名:=“abc123.xlsm”,LinkToFile:=False,DisplayAsIcon:=False
我正试图从Excel工作表中的VBA代码访问Word文档中的Excel组件/形状/对象(无论它叫什么)。我很感激你的回答,但我不知道这是否合适。还有,你是怎么把它录下来的?当我试图操作一个嵌入的表,而记录它字面上没有记录。记录是在字的插入表。。。。excel电子表格。然后在vba编辑器中,转到录制的宏并将光标放在
AddOLEObject
的正后方,或任何逗号的正后方。然后按空格键。这将调出intellisense帮助工具脚本这是从录制的宏。。。。录制后添加了文件名(intellisense显示文件名参数)
Selection.InlineShapes.AddOLEObject类类型:=“Excel.Sheet.12”,文件名:=“abc123.xlsm”,LinkToFile:=False,DisplayAsIcon:=False
我正试图从Excel工作表中的VBA代码访问Word文档中的Excel组件/形状/对象(无论它叫什么)。我很感激你的回答,但我不知道这是否合适。还有,你是怎么把它录下来的?当我试图操作一个嵌入的表,而记录它字面上没有记录。记录是在字的插入表。。。。excel电子表格。然后在vba编辑器中,转到录制的宏并将光标放在
AddOLEObject
的正后方,或任何逗号的正后方。然后按空格键。这将显示intellisense帮助工具提示