在Excel 2013的開發(fā)工具中如果未能找到微軟的日期控件Microsoft Date And Time Picker Control,這就需要手工進行相關的注冊。下面介紹下相關的注冊該控件的方法。
點擊開始菜單,以管理員的身份運行CMD,打開Windows的命令窗口。
如果是32位版本的Windows,進入 C:\Windows\System32 目錄
如果是64位版本的Windows,進入 C:\Windows\Syswow64 目錄
這里以64位版本的Windows 10為例,查看是否存在MSCOMCT2.OCX文件。查看命令:dir MSCOMCT2.OCX
如果沒有上面的文件,根據Windows 32版本還是64位版本。可以下載后復制到對應的文件目錄
然后在命令窗口鍵入regsvr32 mscomct2.ocx進行相關的注冊
確認注冊成功。打開EXCEL,選擇"文件"-"選項",在Excel選項中選擇"自定義功能區(qū)",選擇" 開發(fā)工具"選項框。
點擊Excel菜單中的"開發(fā)工具選項卡",點擊插入"其他控件"
在其他控件中選擇,Microsoft Date and Time Picker Control控件
現在就可以在EXCEL中使用日期控件了。
設計日期的選擇界面,在日歷的控件按鼠標右鍵,選擇"屬性",在屬性當中的linkedcell設置需要連接的單元格
DLL文件是應用文件的擴展,就是我們使用的一些應用程序附加的一些功能性文件,某些情況下是必不可少的一些文件。
特別是在VBA開發(fā)的時候,僅僅使用Excel提供的一些控件是不能很好地完成我們的需要的,那么就用擴展其它功能來豐富我們的應用操作。
本節(jié)介紹一下,如何注冊DLL文件,當然了,并不僅僅適用于VBA控件注冊,其它Windows系統(tǒng)控件注冊都適用,本質上是一個很簡單的小工具,只不過是在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 dArr
End 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 String
dllName=VBA.Trim(Me.ComboBox1.Value)
If VBA.Len(dllName)=0 Then Exit Sub
login dllName
MsgBox "注冊成功!", vbInformation, "成功"
End Sub
注銷按鈕代碼
Private Sub CommandButton2_Click()
Dim dllName As String
dllName=VBA.Trim(Me.ComboBox1.Value)
If VBA.Len(dllName)=0 Then Exit Sub
unlogin dllName
MsgBox "注銷成功!", vbInformation, "成功"
End Sub
總得來說,如果對Dll文件功能有一些了解,那么使用這個工具真的很省心,不信可以試試。
如果沒有對控件引用有一定的了解,可能就不知所云了,不過沒關系,當某一天突然學到這個地步的時候,會恍然大悟,原來如此。
人生就是從一個又一個未知到一個又一個明白的過程,當明白昨天的努力,只不是今天低頭沉思后的微笑的時候,說明昨天的無知真的是一件很快樂的事情。
歡迎關注、收藏
---END---