VBA和“类不支持自动化或不支持预期的接口”

时间:2012-01-11 09:51:08

标签: c# .net excel vba com

我有使用ComVisible类的.NET程序集。几天前(我可以通过git找到那个时刻发生的事情) - 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。哪里可能有问题?

  • 我检查了一切。删除某些方法后发生错误
  • 这个课是偏袒的(可能问题出在这里?)
  • 早些时候一切正常..

1 个答案:

答案 0 :(得分:6)

该死的三次。对于未来的人:从COM库中删除方法/属性后,您应该在Excel的文件中重新添加对.tlb文件的引用。