封裝Excel VBA代碼:Excel VBA代碼引用DLL
通過(guò)將Excel VBA代碼封裝成DLL,可有效防止代碼被非法查看。在上一節(jié)中,我們創(chuàng)建了一個(gè)用VBA編寫(xiě)的DLL,并成功生成了"feifeidown.dll"文件。本節(jié),我們將學(xué)習(xí)如何在Excel
通過(guò)將Excel VBA代碼封裝成DLL,可有效防止代碼被非法查看。在上一節(jié)中,我們創(chuàng)建了一個(gè)用VBA編寫(xiě)的DLL,并成功生成了"feifeidown.dll"文件。本節(jié),我們將學(xué)習(xí)如何在Excel VBA環(huán)境中引用該DLL,以及編寫(xiě)代碼調(diào)用它。
1. 引用Dll文件
首先,打開(kāi)Excel 2007并按下鍵盤(pán)組合鍵"Alt F11"進(jìn)入VBA編程環(huán)境。然后點(diǎn)擊"工具"→"引用"選項(xiàng),在打開(kāi)的"引用"窗口中,點(diǎn)擊"瀏覽"按鈕。
2. 添加引用
在彈出的"瀏覽文件"窗口中,找到上一節(jié)生成的"feifeidown.dll"文件,點(diǎn)擊"確定"進(jìn)行添加。返回"引用"窗口后,確保勾選"feifeidown"選項(xiàng),然后點(diǎn)擊"確定"按鈕完成引用的添加。
3. 注冊(cè)和反注冊(cè)DLL
雙擊"ThisWorkBook"對(duì)象,在其中選擇"Open"事件和"BeforeClose"事件,并輸入以下代碼:
```
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Shell "Regsvr32 /u/s " (34) "feifeidown.dll" (34), vbHide
End Sub
Private Sub Workbook_Open()
Shell "Regsvr32 /s " (34) "feifeidown.dll" (34), vbHide
End Sub
```
以上代碼用于在文檔打開(kāi)時(shí)注冊(cè)DLL,并在關(guān)閉時(shí)反注冊(cè)DLL。
4. 編寫(xiě)調(diào)用DLL的代碼
右擊"Excel對(duì)象",選擇"插入"→"模塊",在模塊中輸入以下代碼:
```
Sub Test()
Dim sa As New AddInfo
End Sub
```
這段代碼用于調(diào)用DLL中的函數(shù),實(shí)現(xiàn)相應(yīng)的功能。在Sheet1工作表中運(yùn)行宏后,可以看到效果。
5. 自動(dòng)運(yùn)行宏
最后,將該過(guò)程添加到"ThisWorkBook"的啟動(dòng)菜單中,即可實(shí)現(xiàn)在打開(kāi)文檔時(shí)自動(dòng)運(yùn)行宏的目的。
通過(guò)封裝Excel VBA代碼成DLL,并在Excel VBA環(huán)境中引用和調(diào)用該DLL,我們可以更好地保護(hù)代碼的安全性,并實(shí)現(xiàn)更復(fù)雜的功能。希望本文對(duì)你有所幫助!