在VBA中,C#dll表示没有入口点

在VBA中,C#dll表示没有入口点,c#,excel,vba,dll,C#,Excel,Vba,Dll,我看了其他帖子,没有找到解决办法 我试图使用我在VBA代码中创建的C#dll,而不必添加引用 在我的VBA代码中,我声明: 公共声明函数消息库“路径到我的dll”_ (ByVal消息作为字符串)作为字符串 子测试() 模糊的hello作为字符串 你好=消息(“你好!!”) 调试,打印你好 端接头 我收到一个错误,说找不到dll的入口点 C#代码: 提前感谢您的帮助 您可能希望使用InteropServices使COM可见DLL using System.Runtime.InteropServi

我看了其他帖子,没有找到解决办法

我试图使用我在VBA代码中创建的C#dll,而不必添加引用

在我的VBA代码中,我声明:

公共声明函数消息库“路径到我的dll”_
(ByVal消息作为字符串)作为字符串
子测试()
模糊的hello作为字符串
你好=消息(“你好!!”)
调试,打印你好
端接头
我收到一个错误,说找不到dll的入口点

C#代码:


提前感谢您的帮助

您可能希望使用InteropServices使COM可见DLL

using System.Runtime.InteropServices;   

[InterfaceType(ComInterfaceType.InterfaceIsDual)]
[Guid("your-GUID-1")]
public interface _Visible_Methods
{
    //--------< _Visible_Methods >--------

    //*visible COM Methods of this Control under Office,Excel, Word

    string get_Hello();

    //--------</ _Visible_Methods >--------
}
使用System.Runtime.InteropServices;
[接口类型(ComInterfaceType.InterfaceIsDual)]
[Guid(“您的Guid-1”)]
公共接口\u可见\u方法
{
//--------<\u可见\u方法>--------
//*Office、Excel、Word下此控件的可见COM方法
字符串get_Hello();
//----------------
}

来源:

您可能希望使用InteropServices使COM可见DLL

using System.Runtime.InteropServices;   

[InterfaceType(ComInterfaceType.InterfaceIsDual)]
[Guid("your-GUID-1")]
public interface _Visible_Methods
{
    //--------< _Visible_Methods >--------

    //*visible COM Methods of this Control under Office,Excel, Word

    string get_Hello();

    //--------</ _Visible_Methods >--------
}
使用System.Runtime.InteropServices;
[接口类型(ComInterfaceType.InterfaceIsDual)]
[Guid(“您的Guid-1”)]
公共接口\u可见\u方法
{
//--------<\u可见\u方法>--------
//*Office、Excel、Word下此控件的可见COM方法
字符串get_Hello();
//----------------
}

来源:

您必须使用接口才能在VBA中使用*.dll。我会找到我过去的答案并贴上链接===编辑===明白了!这是一个
DllExport
,而不是
DllImport
。VBA也将只使用StdCall调用约定。我曾经遇到过这样的说法:这是可能的,从一个非托管C++调用方,但从来没有尝试过。没有<代码> DLL导出属性< /> >,但是您可以尝试。您必须使用接口才能在VBA中使用*.dll。我会找到我过去的答案并贴上链接===编辑===明白了!这是一个
DllExport
,而不是
DllImport
。VBA也将只使用StdCall调用约定。我曾经遇到过这样的说法:这是可能的,从一个非托管C++调用方,但从来没有尝试过。没有<代码> DLL导出属性< /> >,但是您可以尝试。但此方法仍需要在VBA编辑器中添加引用。我正在尝试直接从本地驱动器的绝对路径导入DLL并调用该函数。您好,谢谢您的帮助。但此方法仍需要在VBA编辑器中添加引用。我试图直接从本地驱动器的绝对路径导入DLL并调用该函数。