关于DLL文件函数调用失败有关问题

关于DLL文件函数调用失败问题
创建两个ActiveX DLL文件

AAA.DLL 内容如下:
类名:AAA,工程名:AAA2
Public Function TestAAA(ByVal x As Long) As Long
  MsgBox "TestAAA Sucess"
  TestAAA = 1
End Function

BBB.DLL 内容如下:
类名:BBB,工程名:BBB2

Private Declare Function TestAAA Lib "AAA.DLL" (ByVal x As Long) As Long
Public Sub Test()
  TestAAA 100
End Sub

我在EXCEL VBA 下引用上述两文件(存放在C:\WINDOWS\SYSTEM32,并注册成功)并引用成功
'Public Declare Function TestAAA Lib "AAA.DLL" (ByVal x As Long) As Long

'Dim a As New AAA
Dim b As New BBB
Sub AAAA()
' Call TestAAA(100)
' Call a.TestAAA(100)

  b.Test
End Sub

运行时出现错误453 提示:不能找到入口点TESTAAA在"AAA.DLL",请问有哪位前辈知道这是为啥?

另外再问一下,为什么自己写的dll文件里面的函数不能象API函数直接调用使用,谢谢

private Declare Function FindWindow Lib "user32" _
  Alias "FindWindowA" (ByVal lpClassName As String, _
  ByVal lpWindowName As String) As Long




------解决方案--------------------
VB编写的 ActiveX DLL 是COM组件,不能用 Declare 声明调用,只能在VB工程中通过引用调用。