我试图通过regasm.exe从VBA代码调用dll lib而不注册DLL 。我已经设法使用def文件为c ++ DLL做了但我无法找到为C#DLL做同样的方法。
这是我正在使用的示例VBA代码:
Public Declare Function AddBrackets _
Lib "C:\...\Visual Studio 2008\Projects\ClassLibrary3\ClassLibrary3\bin\Debug\ClassLibrary3.dll" _
(ByVal value As String) As String
Sub test()
Dim text_result As String
text_result = AddBrackets("123")
End Sub
和C#dll:
using System.Runtime.InteropServices;
namespace ClassLibrary3
{
[ComVisible(true)]
[ClassInterface(ClassInterfaceType.AutoDual)]
public static class CSharpTools
{
[ComVisible(true)]
static string AddBrackets(string value)
{
return "[" + value + "]";
}
}
}
预期结果:text_result = [123]
但是在线text_result = AddBrackets("123")
我收到错误453"无法找到DLL入口点AddBrackets'给出库的路径'"
感谢您的帮助。