在PowerPoint演示文稿上closures运行vba代码

我有一个从Excel电子表格中提取数据的演示文稿。 我正在使用这个创build一个新的Excel实例:

Public Sub InitExcel() If xlApp Is Nothing Then Set xlApp = New Excel.Application xlApp.DisplayAlerts = False Set wbWorkbook = xlApp.Workbooks.Open(ActivePresentation.Path & "\Data.xlsx", ReadOnly:="True", Notify:="false") xlApp.DisplayAlerts = True Set wsTechnologies = wbWorkbook.Worksheets("Technologies") End Sub 

然后,一旦我检索数据,我closuresExcel

 xlApp.Quit xlApp = Nothing 

不幸的是,这有两个问题。 一个是它并不总是closuresExcel,而且我总是在任务pipe理器中至less留下一个实例。 另一个是我想要显示不同的数据,每当用户点击不同的形状,所以我现在正在做的方式,每次发生点击事件Excel必须初始化,获取数据,并退出。 ..很慢。

那么有没有更好的方法来与Excel接口? 我可以初始化一次,让它打开,并告诉它一旦用户退出演示文稿退出? 还是有另一种方式?

更新:我发现有一种方法可以触发事件 。 打电话后仍然留有一个松散的Excel实例

 xlApp.quit 

 set xlApp = nothing 

虽然。 PowerPoint虽然closures,所以也许这不是一个问题。