要疯了,VS2008写的dll,注册成com,在Excel 2000 VBA里调用,老是不成功.
1,.Net代码如下:
Imports System
Imports System.Runtime.InteropServices
<Guid("b9c7ce7b-86f4-4406-9f0d-9b2e2c844859")> <ComVisible(True)> Public Interface ITest
Function GetTest() As Integer
End Interface
<Guid("ca1bd88b-4211-49cb-9211-70f6e1d414db")> <ComVisible(True)> Public Class TestClass
Implements ITest
Public Function GetTest() As Integer Implements ITest.GetTest
Return 1
End Function
End Class
2,注册:regasm /tlb classlibrary1.dll
3,Excel VBA-工具-引用,引用classlibrary1
4,VBA代码如下
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim a As ClassLibrary1.ITest
Set a = New ClassLibrary1.TestClass
VBAProject.Sheet1.Cells(1, 1) = a.GetTest
End Sub
然而在Set a = New ClassLibrary1.TestClass这一句,出现如下错误:
运行时错误 '-2147024894' File or assembly name ClassLibrary1, or one of its dependencies, was not found.
请问有人遇到过这种问题没?