VBA和“;类没有';t支持自动化或不支持期望的接口”;
本文关键字:不支持 自动化 期望 接口 支持 VBA | 更新日期: 2023-09-27 18:19:55
我有一个带有ComVisible类的.NET程序集。几天前(我可以准确地找到那一刻)发生了一件事——Excel再也看不到这个类了。因此:
我有接口
[ComVisible(true)]
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface MyInterface { ... }
和类
[ClassInterface(ClassInterfaceType.None)]
[ComVisible(true)]
[ProgId("MyClass.Id")]
public class MyClass { ... }
Excel通过创建实例
Dim c as MyClass
Set c = New MyClass
早些时候,一切都很顺利,但在删除一些方法(从接口和类)后,Excel太疯狂了——它向我显示了一个错误Class doesn't support Automation or does not support expected interface
。哪里会有问题?
- 我检查了几次所有的东西。错误恰好发生在删除某些方法之后
- 这门课是偏的(也许问题出在这里?)
- 早些时候一切正常
该死的三次。对于未来的人:从COM库中删除方法/属性后,您应该在Excel文件中重新添加对.tlb文件的引用。