我可能会重新发布,但我找不到解决方案。
我创建了一个 C# Comvisible 类。这是以下课程:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace COMTrial
{
[Guid("2B71BC1B-16F5-4A0D-A015-CAE658A10B07")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface IMyExample
{
string GetData();
}
[ClassInterface(ClassInterfaceType.AutoDual), ComSourceInterfaces(typeof(IMyExample))]
[Guid("2B71BC1B-16F5-4A0D-A015-CAE658A01B07")]
[ComVisible(true)]
public class Class1
{
public Class1()
{
}
[ComVisible(true)]
public string GetData()
{
return "Vikas";
}
}
}
然后我检查了 Register for Interop 选项,甚至使完整的程序集可见并编译项目和解决方案。
然后我去excel写了这段代码:
Dim a as Object
set a = CreateObject("COMTrial.Class1")
它说,
ActiveX 无法创建对象。
我想到的唯一原因是我正在运行 Office 2010 64 位和 Windows 7 64 位。