【发布时间】:2015-09-21 02:54:44
【问题描述】:
我有一个由 VB6 exe 托管的 COM 自动化服务器。
COM API 使用 Excel VBA:
Dim o as MyCOMAPI.MyCOMType
Set o = new MyCOMAPI.MyCOMType
o.DoSomething
当我在 VBA 中创建对象时,exe 与 COM 自动化一起启动,VBA 可以使用 API。
但是 exe 被 Excel 快速“随机”关闭,我猜当 Excel 决定不再需要 COM API 时。
这种行为会导致随机错误。
简单的解决方案是在运行 VBA 代码之前启动 exe;在这种情况下,一切正常,因为 exe 在用户关闭之前不会停止运行。
您是否有一些关于 Excel VBA 管理对托管 API 的调用方式的信息/文档?
有没有办法避免这种行为并让 exe 保持打开状态,直到 VBA 代码决定停止它?
【问题讨论】:
标签: excel vba com vb6 office-automation