




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、VBA代碼操作代碼dadaV20190409VBE對象是根對象,表示在VBA編輯器中存在的所有對象的最上層對象,常用對象如下:1、VBAproject對象:VBE編輯器中的工程2、VBComponents對象:表示工程中所有的部件集合,包括Excel對象、窗體、模塊、類模塊。3、CodeModule對象:表示部件中相關的代碼操作VBE需要做的工作1設置信任excel2003中,工具-宏-安全性-可靠發行商,選中常信任對于.,excel2007和excel2010,開發工具-安全性-宏設置-選中對.的信任2引用OptionExplicit一、返回模塊的行數Sub返回模塊A中的總行數()MsgBo
2、xThisWorkbook.VBProject.VBComponents(A).CodeModule.CountOfLinesEndSubSub返回過程test中的總行數()MsgBoxThisWorkbook.VBProject.VBComponents(A).CodeModule.ProcCountLines(test,vbext_pk_Proc)EndSubSub返回過程fe中開始行數()MsgBoxThisWorkbook.VBProject.VBComponents(A).CodeModule.ProcBodyLine(fe,vbext_pk_Proc)EndSubvbext_pk_
3、Get指定一個返回屬性值的過程vbext_pk_Let指定一個賦值給屬性的過程vbext_pk_Set指定一個給對象設置引用的過程vbext_pk_Proc指定所有過程除了Property過程二、返回模塊的內容Sub返回過程fe中的所有代碼()Dim開始行數,總行數WithThisWorkbook.VBProject.VBComponents(A).CodeModule開始行數=.ProcBodyLine(fe,vbext_pk_Proc)總行數=.ProcCountLines(fe,vbext_pk_Proc)MsgBox.Lines(開始行數,總行數)EndWithEndSubSub返回第
4、7行所在的過程名()MsgBoxThisWorkbook.VBProject.VBComponents(A).CodeModule.ProcOfLine(7,vbext_pk_Proc)EndSub判斷模塊和過程是否存在Sub判斷A模塊是否存在()OnErrorResumeNextIfThisWorkbook.VBProject.VBComponents(c)IsNothingThenMsgBoxB模塊沒有存在ElseMsgBoxB模塊存在EndIfEndSubSub判斷是否存在b過程()OnErrorResumeNextDim開始行數開始行數ThisWorkbook.VBProject.VB
5、Components(A).CodeModule.ProcBodyLine(B,vbext_pk_Proc)IfErr.Number=35ThenMsgBox不存在B過程ElseMsgBox存在B過程EndIfEndSub返回工程中所有部件名稱Sub顯示部件列表()DimxAsByteWithThisWorkbook.VBProjectForx=1To.VBComponents.CountCells(x+1,1)=.VBComponents(x).NameCells(x+1,2)=.VBComponents(x).TypeNextxEndWithEndSubOptionExplicit1添加模
6、塊Sub添加新模塊B()WithThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule).Name=BEndWithEndSubvbext_ct_ClassModule將一個類模塊添加到集合vbext_ct_MSForm將窗體添加到集合vbext_ct_StdModule將標準模塊添加到集合2在模塊中添加代碼Sub添加新過程()Dimsr,codesr=SubABC()&vbCrLf&Msgbox測試添加代碼&vbCrLf&EndSubMsgBoxsrWithThisWorkbook.VBProject.VBComponents(B
7、).CodeModule.AddFromStringsrEndWithEndSub3在模塊中插入代碼Sub在B模塊中的第3行插入一行代碼()WithThisWorkbook.VBProject.VBComponents(B).CodeModule.InsertLines3,sheets(1).SelectEndWithEndSub四、刪除模塊、過程、代碼1刪除模塊Sub刪除B模塊()WithThisWorkbook.VBProject.VBComponents.RemoveThisWorkbook.VBProject.VBComponents(B)EndWithEndSub2刪除過程Sub刪除
8、B模塊中的ABC過程()Dim開始行數,總行數WithThisWorkbook.VBProject.VBComponents(B).CodeModule開始行數=.ProcBodyLine(ABC,vbext_pk_Proc)總行數=.ProcCountLines(ABC,vbext_pk_Proc).DeleteLines開始行數,總行數EndWithEndSub五、導入、導出和替換一個模塊或代碼Sub導出一個模塊()ThisWorkbook.VBProject.VBComponents(A).ExportD:/A.basEndSubSub導入一個模塊()ThisWorkbook.VBPro
9、ject.VBComponents.ImportD:/A.basEndSubSub替換一個模塊()先刪除模塊,然后導入新模塊ThisWorkbook.VBProject.VBComponents.RemoveThisWorkbook.VBProject.VBComponents(A)ThisWorkbook.VBProject.VBComponents.ImportD:/A.basEndSubSub替換A模塊的B程序第一行代碼()Dim開始行數WithThisWorkbook.VBProject.VBComponents(B).CodeModule開始行數=.ProcBodyLine(ABC,
10、vbext_pk_Proc).ReplaceLine開始行數+1,MsgBox修改后EndWithEndSub六、模塊的查找Find(查找內容,開始行數,開始列始,結束行數,結束列數,是否匹配)Sub在B模塊中查找()WithThisWorkbook.VBProject.VBComponents(B).CodeModuleMsgBox.Find(我,1,1,1,1)EndWithEndSubSub引用列表()Dimref,iForEachrefInThisWorkbook.VBProject.Referencesi=i+1Cells(i,1)=ref.NameCells(i,2)=ref.Fu
11、llPathCells(i,3)=ref.DescriptionNextrefEndSubSub弓1用IDE()D:ProgramThisWorkbook.VBProject.References.AddFromFileD:ProgramFilesVB98VB6EXT.OLBEndSubSub添加字典引用()ThisWorkbook.VBProject.References.AddFromFileC:WindowsSystem32scrrun.dllEndSubSub給文件添加模塊()DimwbAsWorkbook,phAsStringApplication.DisplayAlerts=Fal
12、seph=ThisWorkbook.Path&Setwb=Workbooks.Open(ph&test.xls)ThisWorkbook.VBProject.VBComponents(A).Exportph&A.basWindows(wb.Name).Visible=Truewb.VBProject.VBComponents.Importph&A.baswb.CloseTrueSetwb=NothingKillph&A.basApplication.DisplayAlerts=TrueEndSubSub()DimwbAsWorkbook,phAsStringApplication.DisplayAlerts=Falseph=ThisWorkboo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CATCM 013-2021靈芝(赤芝)及其孢子粉質量規范
- T/CASTEM 1015-2023新型研發機構績效評估規范
- 2024年度江蘇省二級注冊建筑師之建筑結構與設備模考模擬試題(全優)
- T/CAOE 51-2023含水合物沉積物滲透率測定方法
- 智能答題面試題及答案
- 華為c面試題及答案
- 機場工程考試題及答案
- 航天招聘考試題及答案
- 工會專業賬戶管理制度
- 環境污染的演講稿
- 2025-2030年中國磷酸行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025年市場營銷專業人才考核試題及答案
- 分居協議(模版)
- 經鼻高流量吸氧在五官科麻醉氣道管理中應用專家共識(2025版)解讀
- 養老護理員考試模擬題與答案(附解析)
- 2025屆湖北省新八校協作體高三下學期5月壯行考化學試題及答案
- 深圳市住房公積金管理中心員額人員招聘真題2024
- 2025年全國國家版圖知識競賽題庫及答案
- 《創傷失血性休克中國急診專家共識(2023)》解讀課件
- 入團志愿書(2016版本)(可編輯打印標準A4) (1)
- 小升初個人簡歷表
評論
0/150
提交評論