![VBA封裝為DLL及調(diào)用_第1頁](http://file4.renrendoc.com/view/fee5ce44e14beb420a981a20656dc244/fee5ce44e14beb420a981a20656dc2441.gif)
![VBA封裝為DLL及調(diào)用_第2頁](http://file4.renrendoc.com/view/fee5ce44e14beb420a981a20656dc244/fee5ce44e14beb420a981a20656dc2442.gif)
![VBA封裝為DLL及調(diào)用_第3頁](http://file4.renrendoc.com/view/fee5ce44e14beb420a981a20656dc244/fee5ce44e14beb420a981a20656dc2443.gif)
![VBA封裝為DLL及調(diào)用_第4頁](http://file4.renrendoc.com/view/fee5ce44e14beb420a981a20656dc244/fee5ce44e14beb420a981a20656dc2444.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
VBA封裝為DLL及調(diào)用使用程序:1、MicrosoftOfficeExcel20032 、MicrosoftVisualBasic6.0案例:在工作表的
C1
單元格得出
A1
單元格
+B1
單元格的值。設(shè)計(jì)的
VBA
代碼:
SubTest()
OnErrorResumeNext Range("C1")=Cells(1,1)+Cells(1,2)EndSub 第一部分、使用VB6.0制作DLL文件一、啟動(dòng)VB6.0,新建一個(gè)ActiveXDLL工程:二、引用:在VB中對(duì)Excel的引用不同版本的EXCEL在“引用”窗口里顯示的版本號(hào)也不同:EXCEL2000(MicrosoftOffice9.0)EXCEL2002(MicrosoftOffice10.0),即ExcelXPEXCEL2003(MicrosoftOffice11.0)EXCEL2007(MicrosoftOffice12.0)EXCEL2010(MicrosoftOffice14.0)EXCEL2013(MicrosoftOffice15.0)三、修改ActiveXDLL的工程名稱和類模塊名稱四、編寫代碼:在代碼窗口輸入代碼, 過程名稱為 Test:SubTest()OnErrorResumeNext
DimVBt,YB
'定義變量VBt
SetVBt=GetObject(,"Excel.Application")
'使VBt
表示為
EXCEL
對(duì)象
SetYB=VBt.ActiveSheet'使YB表示為EXCEL的當(dāng)前工作表'注意要在對(duì)象前加上 YB變量以表示是 EXCEL當(dāng)前工作表的對(duì)象 YB.Range("C1") =YB.Cells(1,1).Value+YB.Cells(1,2).ValueEndSub五、設(shè)置工程屬性 (為使開發(fā)的程序更規(guī)范,可以對(duì)工程屬性加以描述【非必要設(shè)置,可以省略】 ): 六、保存工程、測(cè)試、生成DLL文件:1、保存工程:保存本工程以作為將來修改代碼和升級(jí)程序的需要;2、測(cè)試工程:執(zhí)行快捷工具欄上的“啟動(dòng)”按鈕,檢查是否存在錯(cuò)誤;3、生成DLL文件:制作DLL文件。第二部分、調(diào)用 DLL文件一、在VBE中調(diào)用DLL文件調(diào)用DLL文件,要分兩步走:先注冊(cè)DLL,再引用DLL。1、注冊(cè)DLL(使之放在可引用的列表上):注冊(cè)DLL也可以使用代碼來做,但那樣比較復(fù)雜,也存在很多問題,建議一般使用手工來注冊(cè)。(這里應(yīng)該先設(shè)計(jì)好DLL文件放在硬盤的位置,因?yàn)楹竺嬉肈LL文件的代碼也應(yīng)該是指向這個(gè)位置的。) 先打開EXCEL,再打開“VisualBasic編輯器”2、引用DLL(這樣每次打開打開文件時(shí),就不必再去那個(gè)引用列表里打個(gè)勾了)① DLL文件放在與 EXCEL文件同一個(gè)文件夾內(nèi)在 ThisWorkbook 中添加如下代碼: PrivateSubWorkbook_Open()' 打開文件時(shí)加載要引用的 DLL文件shell"Regsvr32/s"&Chr(34)&ThisWorkBook.path&"\VBADLL.dll"&Chr(34)EndSubPrivateSubWorkbook_BeforeClose(CancelAsBoolean)'關(guān)閉文件之前卸載引用的DLL文件shell"Regsvr32/s/u"&Chr(34)&ThisWorkBook.path&"\VBADLL.dll"&Chr(34)EndSub'/s 參數(shù)是防止出現(xiàn)確認(rèn)窗口;/u參數(shù)為取消引用。②DLL文件放在固定文件夾內(nèi),如果你有多個(gè) XLS文檔需要使用到同一個(gè) DLL文件,但這些 XLS文檔又不可能都與DLL文件放在同一個(gè)文件夾, 則需要將 DLL文件放置到一個(gè)固定文件夾,這樣,只需要將上面的代碼ThisWorkBook.path&"\VBADLL.dll" 換成一個(gè)固定位置即可。注意:有時(shí)間可能出現(xiàn)某些錯(cuò)誤,如提示“變量類型未定義”等,可能是引用后改變了文件的位置或改變了文件的名稱,即使再重新再改回來也可能會(huì)出現(xiàn)這些問題,所以,在正確注冊(cè)及引用以后,最好不要再去修改這個(gè) DLL文件。如果出現(xiàn)問題,重新注冊(cè)一次,保證注冊(cè)的 DLL文件的位置正確即可。二、新建一個(gè)模塊,輸入調(diào)用 DLL文件程序的過程:SubDLLtest()
DimABCAsNewVBAtest
'定義ABC
為新類,即為
DLL
文件中的類模塊
VBAtestABC.Test
'調(diào)用
DLL
中提供的過程,來完成原來在
VBA中的功能,起到隱藏代碼的效果 SetABC=Nothing '釋放類資源 EndSub三、在工作表中運(yùn)行 DLLtest宏即可實(shí)現(xiàn)調(diào)用: 綜上所述,感覺封裝
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工現(xiàn)場(chǎng)施工防生物安全事故制度
- 小學(xué)生心理健康教育的校本課程設(shè)計(jì)研究
- DB4404T 72-2024電梯維修保養(yǎng)服務(wù)安全規(guī)范
- 不服合作合同爭(zhēng)議仲裁起訴狀范本
- 個(gè)人股權(quán)轉(zhuǎn)讓合作合同模板
- 兩人合伙創(chuàng)業(yè)合同范本
- 個(gè)人股權(quán)轉(zhuǎn)讓合同簡單范文
- 二手房買賣合同簡易版
- 個(gè)人公寓租賃合同范本
- 產(chǎn)學(xué)研一體化碩士專班合作協(xié)議合同
- (康德一診)重慶市2025屆高三高三第一次聯(lián)合診斷檢測(cè) 英語試卷(含答案詳解)
- 2025年福建泉州文旅集團(tuán)招聘24人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 建筑行業(yè)砂石物資運(yùn)輸方案
- 腫瘤全程管理
- 桃李面包盈利能力探析案例11000字
- GB/Z 30966.71-2024風(fēng)能發(fā)電系統(tǒng)風(fēng)力發(fā)電場(chǎng)監(jiān)控系統(tǒng)通信第71部分:配置描述語言
- 污泥處置合作合同模板
- 2025高考數(shù)學(xué)專項(xiàng)復(fù)習(xí):概率與統(tǒng)計(jì)的綜合應(yīng)用(十八大題型)含答案
- 2024年高中一年級(jí)數(shù)學(xué)考試題及答案
- 心電圖 (史上最完美)課件
- 建設(shè)工程施工合同糾紛處理課件
評(píng)論
0/150
提交評(píng)論