启动时,使用一个过程去测试 一下DLL是否注册 ,如果没有就注册一下.送个函数给你:Public Function TestObject(ByVal ObjName As String) As Boolean '测试一个对象是否已经注册 'ObjName - 对象名 '返回值: ' 如果对象已经注册,返回True ' 如果对象未注册,返回False Dim I As Object
On Error Resume Next
TestObject = False Set I = CreateObject(ObjName) TestObject = Not (I Is Nothing) Set I = Nothing End Function使用:debug.Print TestObject("Excel.Applicartion")注册很简单,用regsvr32带个S参数就没提示框了
---------
谢谢指教,因为我写的这个dll是通用的,功能是操作数据库的一个类。
所以可以拿过来直接用。多个项目都用同一个数据库操作类。没必要每个项目中都放一个数据库操作类呀。
'测试一个对象是否已经注册
'ObjName - 对象名
'返回值:
' 如果对象已经注册,返回True
' 如果对象未注册,返回False
Dim I As Object
On Error Resume Next
TestObject = False
Set I = CreateObject(ObjName)
TestObject = Not (I Is Nothing)
Set I = Nothing
End Function使用:debug.Print TestObject("Excel.Applicartion")注册很简单,用regsvr32带个S参数就没提示框了
http://blog.csdn.net/Modest/archive/2007/09/01/1767950.aspx