已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
VBA封裝為DLL及調(diào)用使用程序:1、Microsoft Office Excel 20032、Microsoft Visual Basic 6.0案例:在工作表的C1單元格得出A1單元格+B1單元格的值。設(shè)計(jì)的VBA代碼:Sub Test() On Error Resume Next Range(C1) = Cells(1, 1) + Cells(1, 2)End Sub第一部分、使用VB6.0制作DLL文件一、 啟動(dòng)VB6.0,新建一個(gè)ActiveX DLL工程:二、 引用:在VB中對(duì)Excel的引用不同版本的EXCEL在“引用”窗口里顯示的版本號(hào)也不同:EXCEL2000(Microsoft Office 9.0)EXCEL2002(Microsoft Office 10.0),即ExcelXPEXCEL2003(Microsoft Office 11.0)EXCEL2007(Microsoft Office 12.0)EXCEL2010(Microsoft Office 14.0)EXCEL2013(Microsoft Office 15.0)三、 修改ActiveX DLL的工程名稱和類模塊名稱四、編寫代碼:在代碼窗口輸入代碼,過程名稱為Test:Sub Test() On Error Resume Next Dim VBt, YB 定義變量VBt Set VBt = GetObject(, Excel.Application) 使VBt表示為EXCEL對(duì)象 Set YB = VBt.ActiveSheet 使YB表示為EXCEL的當(dāng)前工作表 注意要在對(duì)象前加上YB變量以表示是EXCEL當(dāng)前工作表的對(duì)象 YB. Range(C1) = YB.Cells(1, 1).Value + YB.Cells(1, 2).ValueEnd Sub五、設(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,再打開“Visual Basic 編輯器” 2、引用DLL(這樣每次打開打開文件時(shí),就不必再去那個(gè)引用列表里打個(gè)勾了)DLL文件放在與EXCEL文件同一個(gè)文件夾內(nèi)在ThisWorkbook中添加如下代碼:Private Sub Workbook_Open() 打開文件時(shí)加載要引用的DLL文件shell Regsvr32 /s & Chr(34) & ThisWorkBook.path & VBADLL.dll& Chr(34)End SubPrivate Sub Workbook_BeforeClose(Cancel As Boolean) 關(guān)閉文件之前卸載引用的DLL文件shell Regsvr32 /s /u & Chr(34) & ThisWorkBook.path & VBADLL.dll& Chr(34)End Sub/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文件程序的過程:Sub DLLtest() Dim ABC As New VBAtest 定義ABC為新類,即為DLL文件中的類模塊VBAtest ABC.Test 調(diào)用DLL中提供的過程,來完成原來在VBA中的功能,起到隱藏代碼的效果 Set ABC = Nothing 釋放類資源End Sub三、 在工作表中運(yùn)行D
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 核心制度-醫(yī)囑執(zhí)行制度,護(hù)理查房制度,護(hù)理會(huì)診制度,護(hù)理病例討論制度
- 構(gòu)建高效的法治執(zhí)行制度嚴(yán)密的法治監(jiān)督制度有力的法治保障制度
- 陜西省西安市碑林區(qū)鐵一中學(xué)2025-2026學(xué)年普通高中畢業(yè)班單科質(zhì)量檢查生物試題試卷含解析
- 安徽省淮南一中等四校重點(diǎn)中學(xué)2026年學(xué)業(yè)水平考試化學(xué)試題模擬卷(四)含解析
- 安徽省淮北地區(qū)2026年高三練習(xí)題一(全國(guó)卷I)化學(xué)試題含解析
- 遼寧省大連市莊河高級(jí)中學(xué)2026屆高三3月復(fù)習(xí)質(zhì)量檢測(cè)試題生物試題含解析
- 2023-2024學(xué)年重慶市巫山縣四年級(jí)(下)期末語(yǔ)文試卷
- 2025-2026學(xué)年第一學(xué)期五年級(jí)語(yǔ)文智慧城市設(shè)計(jì)
- 2025-2026學(xué)年第一學(xué)期四年級(jí)語(yǔ)文實(shí)踐能力測(cè)試
- 車間查貨人員培訓(xùn)
- 2026年江蘇蘇北四市高三一模高考英語(yǔ)試卷試題(答案詳解)
- 2025SISA共識(shí)文件:血漿甘油三酯在心血管疾病中的作用課件
- 2025年企業(yè)設(shè)備故障處理手冊(cè)
- 維修班組安全培訓(xùn)課件
- 2025-2026學(xué)年江蘇省蘇州市八校高三(上)聯(lián)考英語(yǔ)試卷(12月份)
- GB/T 26953-2025焊縫無損檢測(cè)滲透檢測(cè)驗(yàn)收等級(jí)
- 中醫(yī)中藥科普宣傳工作方案
- GB/T 21402-2025農(nóng)業(yè)灌溉設(shè)備灌溉首部
- 2024年黑龍江輔警協(xié)警招聘考試真題及答案詳解(歷年真題)
- 玻璃幕墻施工專項(xiàng)方案
- 醫(yī)院患者風(fēng)險(xiǎn)評(píng)估表及管理流程
評(píng)論
0/150
提交評(píng)論