Excel的VBA项目没有得到关闭(Excel VBA project not getting cl

2019-09-17 09:46发布

我有一个COM插件中,我处理Excel事件。 我点击Alt F11查看与一个Excel VBA项目。 然而,当我关闭该工作簿中的Project Explorer中的Excel的VBA项目未关闭为好。

未安装我的COM插件时,它得到正常关闭。 这是怎么回事,和我应该有什么不同?

Answer 1:

问题是残存在记忆工作簿对象。 通过在工作簿中停用事件清除的对象,VBA项目是越来越当我关闭工作簿关闭。

看到这一点: http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/377fbebc-021d-4e48-aaef-d4658cc221b3

谢谢



Answer 2:

我有一个类似的问题我的COM-外接(C#/ VSTO):

  • 你必须释放所有工作簿中的引用代码时关闭工作簿,并将它们设置为null。
  • 如果你在内部存储的工作簿的引用,总是使用的WeakReference让垃圾收集完成其工作。

就我而言,我把所有的工作簿的Windows.Forms.Tree在自定义任务窗格。 引用的工作簿对象被存储在TreeNode.Tag。 我已经关闭工作簿后,该树是由事件更新,但在这个时候我已经生成了什么,我叫VBA工作簿“鬼”。 我解决了这个通过替换由Workbook.FullName字符串的树节点标签的工作簿对象(以后引用它们)。

希望它能帮助,约尔格



文章来源: Excel VBA project not getting closed