前言:
此刻我们对“vc调用vb开发的dll”大概比较注意,咱们都想要知道一些“vc调用vb开发的dll”的相关知识。那么小编同时在网络上网罗了一些对于“vc调用vb开发的dll””的相关文章,希望咱们能喜欢,各位老铁们一起来了解一下吧!DLL文件是应用文件的扩展,就是我们使用的一些应用程序附加的一些功能性文件,某些情况下是必不可少的一些文件。
特别是在VBA开发的时候,仅仅使用Excel提供的一些控件是不能很好地完成我们的需要的,那么就用扩展其它功能来丰富我们的应用操作。
本节介绍一下,如何注册DLL文件,当然了,并不仅仅适用于VBA控件注册,其它Windows系统控件注册都适用,本质上是一个很简单的小工具,只不过是在Excel平台下操作。
下图为操作界面
可以看到界面中并没有什么特别的内容,一个组合框,三个按钮。
组合框里自动搜索出电脑某一目录中的Dll文件,这个是自动进行,"选择目录"按钮可以打开文件对话自定义要搜索的文件夹。
注册和注销两个按钮分别进行DLL文件的注册和注销。
示例图中注册了一个名为:CheckDate.dll的文件。
接下来,看一下代码。
整个过程中重要代码只有两行,附加的一些代码就比较多了,其实没有意义,也有一些意义。
意义在于实现一些本来知道但操作人并不知道的一些过程。
下面这个过程就是获取某目录下的Dll文件过程:
Private Function getDllName(xPath As String) Dim dArr(), di As Integer Dim dllName As String If VBA.Len(xPath) = 0 Then xPath = ThisWorkbook.Path dllName = Dir(xPath & "\*.Dll", vbNormal) If dllName = "" Then ReDim dArr(0) dArr(0) = "" getDllName = dArr Exit Function Else ReDim Preserve dArr(di) dArr(di) = dllName End If Do While dllName <> dArr(0) di = di + 1 dllName = Dir(ThisWorkbook.Path & "\*.Dll", vbNormal) DoEvents MsgBox dllName Stop Loop getDllName = dArr Erase dArrEnd Function
注册过程代码
'注册控件Sub login(dllName As String) Shell "regsvr32 /s " & Chr(34) & ThisWorkbook.Path & "\" & dllName & Chr(34)End Sub
注销过程代码
'注销控件 注意/u 后面加空格Sub unlogin(dllName As String) Shell "regsvr32 /s /u " & Chr(34) & ThisWorkbook.Path & "\" & dllName & Chr(34)End Sub
注册按钮代码
Private Sub CommandButton1_Click()Dim dllName As StringdllName = VBA.Trim(Me.ComboBox1.Value)If VBA.Len(dllName) = 0 Then Exit Sublogin dllNameMsgBox "注册成功!", vbInformation, "成功"End Sub
注销按钮代码
Private Sub CommandButton2_Click()Dim dllName As StringdllName = VBA.Trim(Me.ComboBox1.Value)If VBA.Len(dllName) = 0 Then Exit Subunlogin dllNameMsgBox "注销成功!", vbInformation, "成功"End Sub
总得来说,如果对Dll文件功能有一些了解,那么使用这个工具真的很省心,不信可以试试。
如果没有对控件引用有一定的了解,可能就不知所云了,不过没关系,当某一天突然学到这个地步的时候,会恍然大悟,原来如此。
人生就是从一个又一个未知到一个又一个明白的过程,当明白昨天的努力,只不是今天低头沉思后的微笑的时候,说明昨天的无知真的是一件很快乐的事情。
欢迎关注、收藏
---END---
标签: #vc调用vb开发的dll