我有一个项目,我使用“类型库”(.TLB)扩展Excel(64位)。 .TLB和相关的DLL是用C ++编写的,带有我需要在TLB中公开的函数的C接口包装。
这个TBL / DLL组合本质上是使用VBA Declare语句直接连接到DLL的替代方法。类型库使用COM IDL文件来定义接口,但IDL中的函数不返回HRESULT - 函数看起来就像它们的C类似物,除了IDL样式。
无论如何,我试图弄清楚是否有反正从我的界面层中引发某种异常或调用Windows API以使VBA干净地停止执行。抛出常规C ++异常只会导致Excel崩溃。