VBA中自定义COM类中的IntelliSense

有没有办法在VBA中自己构建的COM类中获取IntelliSense?

例如,在下面的示例中,我希望每当我按下点(或ctrl +空格以获得快捷方式)时都会显示“Number”: 在此处输入图像描述

我想,如果以某种方式解决了这个问题,我还会得到一些关于对象公共函数的信息:

在此处输入图像描述

那么,有什么建议?

建议1

在此处输入图像描述

简单的例子看起来像这样。

c#类库名为IntellisenseDemo代码

 using System; using System.Runtime.InteropServices; namespace IntellisenseDemo { [ComVisible(true)] [Guid("41B3F5BC-A52B-4AED-90A0-F48BC8A391F1")] [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] public interface IIntellisenseDemo { int Number { get; set; } string TestString(string name); } [ComVisible(true)] [Guid("20EBC3AF-22C6-47CE-B70C-7EBBA12D0A29")] [ClassInterface(ClassInterfaceType.None)] [ProgId("IntellisenseDemo.Demo")] public class Demo : IIntellisenseDemo { public int Number { get; set; } public string TestString(string name) { throw new NotImplementedException(); } } } 

注意[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]表示接口作为调度接口向COM公开,仅启用后期绑定。

[ClassInterface(ClassInterfaceType.None)]表示CLR不公开此类型的类接口。 COM客户端可以使用IIntellisenseDemo接口中的方法调用此类的成员。

regasm

 C:\Windows\Microsoft.NET\Framework\v4.0.30319>regasm C:\Temp\IntellisenseDemo.dll /tlb: C:\Temp\IntellisenseDemo.tlb 

VBA

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述