VBA封裝為DLL及調用_第1頁
VBA封裝為DLL及調用_第2頁
VBA封裝為DLL及調用_第3頁
VBA封裝為DLL及調用_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、使用程序:1、MicrosoftOfficeExcel2003 2、MicrosoftVisualBasic6.0案例:在工作表的C1單元格得出A1單元格+B1單元格的值。設計的VBA代碼:SubTestOOn ErrorResumeNextRan ge("C1")=Cells(1,1)+Cells(1,2)EndSub第一部分、使用VB6.0制作DLL文件啟動VB6.0,新建一個 ActiveXDLL工程:引用:在VB中對Excel的引用不同版本的EXCEI在 “引用”窗口里顯示的版本號也不同:),即卩 ExcelXPEXCEL2000( MicrosoftOffice9

2、.0EXCEL2002( MicrosoftOffice10.0EXCEL2003( MicrosoftOffice11.0EXCEL2007( MicrosoftOffice12.0EXCEL2010(MicrosoftOffice14.0EXCEL2013( MicrosoftOffice15.0三、修改ActiveXDLL的工程名稱和類模塊名稱四、編寫代碼:SubTest()OnErrorResumeNext使VBt表示為EXCEL寸象DimVBt,YB' 定義變量 VBtSetVBt=GetObject(,"Excel.Application")'S

3、etYB二VBt.ActiveSheet'使 YB表示為 EXCELS 當前工作表'注意要在對象前加上YB變量以表示是EXCEL當前工作表的對象YB.Range("C1")=YB.Cells(1,1).Value+YB.Cells(1,2).ValueEndSub五、設置工程屬性 ( 為使開發(fā)的程序更規(guī)范,可以對工程屬性加以描述【非必要 設置,可以省略】 ) : 六、保存工程、測試、生成 DLL文件: 1、保存工程:保存本工程以作為將來修改代碼和升級程序的需要; 2、測試工程:執(zhí)行快捷工具欄上的“啟動”按鈕,檢查是否存在錯誤; 3、生成DLL文件:制作DLL

4、文件。第二部分、調用DLL文件 一、在VBE中調用DLL文件 調用DLL文件,要分兩步走:先注冊 DLL再引用DLLo 1、注冊dll (使之放在可引用的列表上): 注冊DLL也可以使用代碼來做,但那樣比較復雜,也存在很多問題,建議一般使 用手工來注冊。(這里應該先設計好DLL文件放在硬盤的位置,因為后面引用 DLL文件的代碼也 應該是指向這個位置的。)先打開EXCEL再打開“ VisualBasic 編輯器”:囲J- M科即®Rfl?弓I用弓引用IS±11 IQIrt京Bini搭實卻砒0 運疔盤)4 Ji J «4 Sf"亍二妁配口卑料貼城LilA*

5、涓* ViihU ttuf I0f MHkEUurvi* 柜亡m讓I 氐七心 IL D atjM-t y OUIherwtfv F«nvE S'. 0 Qbj已* Li'brirp-1A5 IKlpur OJH UWOWCC止 l.t Tjpt US luiinrs r*護洋門:flimunkAS 1)數芋££a)抽府 tt).IWBffliD = 幗丈神天SGuUbKlU找到DM文件存放的位S&D口fiDd Ijff iti m Ti: AJ.rLrVS & Cliife kdJ&T Wih+rVBi lb上*VB ftL

6、 VB & lixo-J "s啊“W AJeli I*竝Urvn mwzVjfi ”山|_(« 】0 1戸 IjI± gut7-*1亠文frS q】神皿衛(wèi);£aS!EC I* nU:« tll-t Xin黔肚,毗lJnuLL宦覽 CLa«111* fu lI j u - iiii'AM) qHU *L UI AS''-at 莎唯im2、引用DLL (這樣每次打開打開文件時,就不必再去那個引用列表里打個勾了) DLL文件放在與EXCEL文件同一個文件夾內 在ThisWorkbook中添加如下代碼:Priv

7、ateSubWorkbook_Open()'打開文件時加載要引用的 DLL文件 shell"Regsvr32/s"&Chr(34) &ThisWorkBook. path&"VBADLL.dll"&Chr(34)EndSubPrivateSubWorkbook_BeforeClose(CancelAsBoolean)'關閉文件之前卸載引用的 DLL 文件shell"Regsvr32/s/u"&Chr(34) &ThisWorkBook. path&"VB

8、ADLL.dll"&Chr(34)EndSub '/s參數是防止出現確認窗口; /u參數為取消引用。 DLL文件放在固定文件夾內,如果你有多個 XLS文檔需要使用到同一個DLL文件,但這些 XLS文檔又不可能都與DLL文件放在同一個文件夾,則需要將 DLL文件放置到一個固定文件 夾,這樣,只需要將上面的代碼 ThisWorkBook. path & "VBADLL.dll"換成一個固定位置即可。注意:有時間可能出現某些錯誤,如提示“變量類型未定義”等,可能是引用后改變了文件的 位置或改變了文件的名稱,即使再重新再改回來也可能會出現這些問題,所以,在正確注冊及 引用以后,最好不要再去修改這個 DLL文件。如果出現問題,重新注冊一次,保證注冊的 DLL文件的位置正確即可。、新建一個模塊,輸入調用 DLL文件程序的過程:SubDLLtest()DimABCAsNewVBAtest' 定義 ABC 為新類,即為 DLL 文件中的類模塊 VBAtestABC.Test' 調用 DLL 中提供的過程,來完成原來在 VBA 中的功能,起到隱藏代碼的效果SetABC=Nothing' 釋放類資源End

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論