版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、VBA常用技巧目錄 VBA常用技巧1第5章Application對(duì)象2技巧1取得Excel版本信息2技巧2取得當(dāng)前用戶名稱3技巧3Excel中的“定時(shí)器”3技巧4設(shè)置活動(dòng)打印機(jī)的名稱5技巧5屏蔽、改變組合鍵的功能6技巧6設(shè)置Excel窗口標(biāo)題欄7技巧7自定義Excel狀態(tài)欄8技巧8靈活退出Excel9技巧9隱藏Excel主窗口109-1設(shè)置Application對(duì)象的Visible屬性109-2將窗口移出屏幕119-3設(shè)置工作簿作為加載宏運(yùn)行12第5章 Application對(duì)象技巧1 取得Excel版本信息Application對(duì)象的Version屬性可以返回Excel的版本號(hào),如下面的代碼
2、所示。#001 Sub AppVersion()#002 Dim myVersion As String#003 Select Case Application.Version#004 Case 8.0#005 myVersion = 97#006 Case 9.0#007 myVersion = 2000#008 Case 10.0#009 myVersion = 2002#010 Case 11.0#011 myVersion = 2003#012 Case Else#013 myVersion = 版本未知#014 End Select#015 MsgBox Excel 版本是: & m
3、yVersion#016 End Sub代碼解析:AppVersion過(guò)程返回Application對(duì)象的Version屬性值來(lái)取得Excel版本號(hào)。應(yīng)用于Application對(duì)象的Version屬性返回Excel版本號(hào),語(yǔ)法如下:expression.Version參數(shù)expression是必需的,Application對(duì)象。運(yùn)行AppVersion過(guò)程結(jié)果如Error! Reference source not found.所示。圖 11取得Excel版本號(hào)技巧2 取得當(dāng)前用戶名稱使用Application對(duì)象的UserName屬性可以取得當(dāng)前用戶名稱,如下面的代碼所示。Sub User
4、Name() MsgBox 當(dāng)前用戶名是: & Application.UserNameEnd Sub代碼解析:UserName過(guò)程使用消息框顯示當(dāng)前用戶名稱。Application對(duì)象的UserName屬性返回或設(shè)置當(dāng)前用戶的名稱。運(yùn)行UserName過(guò)程效果如Error! Reference source not found.所示。圖 21顯示當(dāng)前用戶名稱技巧3 Excel中的“定時(shí)器”Excel VBA并沒(méi)有提供定時(shí)器控件,但是用戶可以通過(guò)Application對(duì)象的OnTime方法實(shí)現(xiàn)簡(jiǎn)單的定時(shí)器功能,如下面的代碼所示。#001 Sub StartTimer()#002 Sheet1.
5、Cells(1, 2) = Sheet1.Cells(1, 2) + 1#003 Application.OnTime Now + TimeValue(00:00:01), StartTimer#004 End Sub代碼解析:StartTimer過(guò)程,使用Application對(duì)象的OnTime方法循環(huán)調(diào)用StartTimer過(guò)程實(shí)現(xiàn)每隔一秒鐘運(yùn)行一次StartTimer過(guò)程,從而在B1單元格中不斷地顯示程序累計(jì)運(yùn)行時(shí)間,如Error! Reference source not found.所示。圖 31簡(jiǎn)單的定時(shí)器第2行代碼將B1單元格的值在原有的數(shù)字上加1。第3行代碼使用OnTime方法
6、在1秒后重新調(diào)用StartTimer過(guò)程,使B1單元格的值不斷的加1,從而顯示程序累計(jì)運(yùn)行時(shí)間。應(yīng)用于Application對(duì)象的OnTime方法能夠安排一個(gè)過(guò)程在將來(lái)的特定時(shí)間運(yùn)行,語(yǔ)法如下: expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule)參數(shù)expression是必需的,返回一個(gè)Application對(duì)象。參數(shù)EarliestTime是必需的,設(shè)置指定的過(guò)程開始運(yùn)行的時(shí)間。使用Now + TimeValue(time)可以安排從現(xiàn)在開始經(jīng)過(guò)一段時(shí)間之后運(yùn)行某個(gè)過(guò)程,使用TimeValue(time)可以安排在
7、指定的時(shí)間運(yùn)行某個(gè)過(guò)程。參數(shù)Procedure是必需的,設(shè)置要運(yùn)行的過(guò)程名稱。參數(shù)LatestTime是可選的,設(shè)置過(guò)程開始運(yùn)行的最晚時(shí)間。例如將參數(shù)LatestTime設(shè)置為EarliestTime+10,當(dāng)時(shí)間到了EarliestTime時(shí)如果Excel不處于空閑狀態(tài),那么Excel將等待10秒,如果在10秒內(nèi)Excel不能回到空閑狀態(tài),則不運(yùn)行該過(guò)程。如果省略該參數(shù),Excel將一直等待到可以運(yùn)行該過(guò)程為止。參數(shù)Schedule是可選的,如果其值為True(默認(rèn)值),則安排一個(gè)新的OnTime過(guò)程,如果其值為False,則清除先前設(shè)置的過(guò)程。取消定時(shí)的代碼如下:#001 Sub EndT
8、imer()#002 On Error GoTo Line#003 Application.OnTime Now + TimeValue(00:00:01), StartTimer, , False#004 Sheet1.Cells(1, 2) = 0#005 Exit Sub#006 Line:#007 MsgBox 請(qǐng)先按開始按鈕!#008 End Sub代碼解析:EndTimer過(guò)程取消StartTimer過(guò)程的定時(shí)。第2行代碼錯(cuò)誤處理語(yǔ)句,因?yàn)槿绻€沒(méi)有運(yùn)行StartTimer過(guò)程而先運(yùn)行EndTimer過(guò)程取消定時(shí),程序會(huì)提示錯(cuò)誤,如Error! Reference source n
9、ot found.所示,因此使用On Error GoTo Line語(yǔ)句在錯(cuò)誤發(fā)生時(shí)執(zhí)行第7行代碼顯示一個(gè)如Error! Reference source not found.所示的提示消息框。圖 32運(yùn)行錯(cuò)誤圖 33提示消息框第3行代碼將StartTimer過(guò)程的Schedule參數(shù)設(shè)置為False,取消定時(shí)設(shè)置。技巧4 設(shè)置活動(dòng)打印機(jī)的名稱使用Application 對(duì)象的ActivePrinter屬性可以設(shè)置活動(dòng)打印機(jī)的名稱,如下面的代碼所示。#001 Sub myPrinter()#002 Dim myPrinter As String#003 myPrinter = HP Laser
10、Jet P1008 在 Ne04:#004 Application.ActivePrinter = myPrinter#005 MsgBox 活動(dòng)打印機(jī)為: & Left(myPrinter, InStr(myPrinter, 在) - 1)#006 End Sub代碼解析:myPrinter過(guò)程將活動(dòng)打印機(jī)設(shè)置為“HP LaserJet P1008”。第3行代碼指定需要設(shè)置為活動(dòng)打印機(jī)的名稱,第4行代碼通過(guò)設(shè)置Application 對(duì)象的ActivePrinter屬性將活動(dòng)打印機(jī)設(shè)置為“HP LaserJet P1008”。第5行代碼使用消息框顯示活動(dòng)打印機(jī)的名稱及型號(hào)。運(yùn)行myPrint
11、er過(guò)程結(jié)果如Error! Reference source not found.所示。圖 41設(shè)置活動(dòng)打印機(jī)技巧5 屏蔽、改變組合鍵的功能使用Application 對(duì)象的OnKey方法可以屏蔽或改變組合鍵的默認(rèn)操作,如下面的代碼所示。#001 Private Sub Workbook_Open()#002 Application.OnKey c, myOnKey#003 End Sub#004 Sub myOnKey()#005 MsgBox 本工作表禁止復(fù)制數(shù)據(jù)!#006 End Sub代碼解析:第1行到第3行代碼工作簿的Open事件,在工作簿打開時(shí)使用OnKey方法改變組合鍵的功能。應(yīng)
12、用于Application 對(duì)象的OnKey方法指定特定鍵或特定的組合鍵運(yùn)行的過(guò)程,語(yǔ)法如下:expression.OnKey(Key, Procedure)參數(shù)expression是必需的,該表達(dá)式返回一個(gè)Application 對(duì)象。參數(shù)Key是必需的,用于表示要按的鍵的字符串,具體請(qǐng)參閱VBA中的幫助。參數(shù)Procedure是可選的,表示要運(yùn)行的過(guò)程名稱的字符串,本示例中將過(guò)程名稱指定為第4行到第6行代碼的“myOnKey”過(guò)程,當(dāng)按下組合鍵時(shí)并不會(huì)執(zhí)行復(fù)制操作而只顯示一個(gè)消息框。如果將Procedure參數(shù)指定為空文本(),則按組合鍵時(shí)不發(fā)生任何操作,達(dá)到屏蔽組合鍵的效果。如果省略Pr
13、ocedure參數(shù),則按下組合鍵時(shí)產(chǎn)生Microsoft Excel中的正常結(jié)果,同時(shí)清除先前使用OnKey方法所做的特殊擊鍵設(shè)置,所以恢復(fù)組合鍵的代碼如下:Application.OnKey c為了不影響其他工作簿的功能,恢復(fù)代碼就放在工作簿的Deactivate事件中,如下面的代碼所示:#001 Private Sub Workbook_Deactivate()#002 Application.OnKey c#003 End Sub代碼解析:當(dāng)工作簿從活動(dòng)狀態(tài)轉(zhuǎn)為非活動(dòng)狀態(tài)時(shí)恢復(fù)組合鍵的正常功能。技巧6 設(shè)置Excel窗口標(biāo)題欄Excel主窗口標(biāo)題欄默認(rèn)的名稱是“Microsoft Exc
14、el”,通過(guò)設(shè)置Application對(duì)象的Caption屬性可以改變Excel主窗口的標(biāo)題欄,如下面的代碼所示。#001 Sub AppCaption()#002 Application.Caption = 修改標(biāo)題欄名稱#003 MsgBox 下面將恢復(fù)默認(rèn)的標(biāo)題欄名稱!#004 Application.Caption = Empty#005 End Sub代碼解析:第2行代碼將Excel窗口標(biāo)題設(shè)置為“修改標(biāo)題欄名稱”,如Error! Reference source not found.所示。圖 61設(shè)置Excel窗口標(biāo)題應(yīng)用于Application對(duì)象的Caption屬性設(shè)置顯示在M
15、icrosoft Excel主窗口標(biāo)題欄中的名稱,語(yǔ)法如下:expression.Caption第3行代碼恢復(fù)Microsoft Excel主窗口標(biāo)題欄中的名稱。如果未設(shè)置Caption屬性()或?qū)⑵湓O(shè)置為Empty(表示未初始化的變量值),則本屬性返回默認(rèn)的“Microsoft Excel”。將Caption屬性設(shè)置為常數(shù)vbNullChar(表示值為 0 的字符)可以刪除標(biāo)題欄中的名稱,如下面的代碼所示。#001 Sub DleCaption()#002 Application.Caption = vbNullChar#003 MsgBox 下面將恢復(fù)默認(rèn)的標(biāo)題欄名稱!#004 Appli
16、cation.Caption =Empty#005 End Sub代碼解析:第2行代碼刪除Excel主窗口標(biāo)題欄,結(jié)果如Error! Reference source not found.所示。圖 62刪除Excel窗口標(biāo)題欄的名稱技巧7 自定義Excel狀態(tài)欄Excel狀態(tài)欄顯示應(yīng)用程序的當(dāng)前狀態(tài)(例如就緒、輸入等)或上下文提示信息,通過(guò)設(shè)置Application對(duì)象的Statusbar屬性可以修改狀態(tài)欄,以顯示用戶自定義的信息,代碼如下:#001 Sub myStatusBar()#002 Dim rng As Range#003 For Each rng In Sheet1.Range(
17、A1:D10000)#004 Application.StatusBar = 正在計(jì)算單元格 & rng.Address(0, 0) & 的數(shù)據(jù).#005 rng = 100#006 Next#007 Application.StatusBar = False#008 End Sub代碼解析:myStatusBar過(guò)程在給選定單元格區(qū)域賦值的同時(shí),將Excel狀態(tài)欄中的文字設(shè)置為正在賦值的單元格地址。應(yīng)用于Application對(duì)象的StatusBar屬性返回或設(shè)置狀態(tài)欄中的文字,如果需要恢復(fù)默認(rèn)的狀態(tài)欄文字,將本屬性設(shè)為False即可。運(yùn)行myStatusBar過(guò)程Excel狀態(tài)欄如Erro
18、r! Reference source not found.所示。圖 71自定義Excel狀態(tài)欄技巧8 靈活退出Excel在使用Close方法關(guān)閉工作簿時(shí),既使當(dāng)前只有一個(gè)打開的工作簿,也只能關(guān)閉工作簿而不能關(guān)閉Excel程序,而使用Application對(duì)象的Quit方法則會(huì)關(guān)閉所有打開的工作簿,下面的代碼可以做到兩者兼顧。#001 Sub myQuit()#002 If Workbooks.Count 1 Then#003 ThisWorkbook.Close#004 Else#005 Application.Quit#006 End If#007 End Sub代碼解析:myQuit過(guò)程
19、在關(guān)閉Excel程序時(shí)根據(jù)當(dāng)前打開的工作簿數(shù)量決定采用何種方法關(guān)閉工作簿。第2行代碼使用Workbook集合的Count屬性判斷當(dāng)前打開的工作簿文件數(shù)量。第3行代碼如當(dāng)前打開兩個(gè)或兩個(gè)以上工作簿,使用Close方法關(guān)閉代碼所在的工作簿。關(guān)于Close方法請(qǐng)參閱技巧Error! Reference source not found.。第5行代碼如果當(dāng)前只有一個(gè)打開的工作簿文件則使用Quit方法關(guān)閉Excel程序。應(yīng)用于Application對(duì)象的Quit方法退出Excel程序,語(yǔ)法如下:expression.Quit參數(shù)expression是必需的,返回一個(gè)Application對(duì)象。使用Qui
20、t方法關(guān)閉Excel程序時(shí),如果有未保存的工作簿處于打開狀態(tài),則將彈出一個(gè)詢問(wèn)是否要保存所作更改的對(duì)話框,為避免對(duì)話框出現(xiàn),可在使用Quit方法前保存所有的工作簿,或者將Application對(duì)象的DisplayAlerts屬性設(shè)置為False,在退出Excel程序時(shí),即使有未保存的工作簿,也不會(huì)顯示對(duì)話框,而且不保存就退出。如果一個(gè)工作簿的Saved屬性值為True,但是并沒(méi)有將工作簿保存到磁盤上,則Excel程序在退出時(shí)不會(huì)提示保存該工作簿。技巧9 隱藏Excel主窗口如果希望在程序啟動(dòng)時(shí)或運(yùn)行過(guò)程中隱藏Excel主窗口,有以下幾種實(shí)現(xiàn)方法。9-1 設(shè)置Application對(duì)象的Visi
21、ble屬性當(dāng)Application對(duì)象的Visible屬性設(shè)置為False時(shí),Application對(duì)象不可見(jiàn),即能隱藏Excel主窗口,如下面的代碼所示。#001 Private Sub Workbook_Open()#002 Application.Visible = False#003 UserForm1.Show#004 End Sub代碼解析:代碼工作簿的Open事件,在工作簿打開時(shí)將Application對(duì)象的Visible屬性設(shè)置為False隱藏Excel主窗口。顯示Excel主窗口的方法是將Application對(duì)象的Visible屬性重新設(shè)置為True。當(dāng)工作簿文件打開時(shí),隱
22、藏Excel主窗口,只顯示用戶登錄窗體,如Error! Reference source not found.所示。圖 91隱藏Excel主窗口9-2 將窗口移出屏幕設(shè)置Application對(duì)象的Left屬性(從屏幕左邊界至Microsoft Excel主窗口左邊界的距離)和/或Top屬性(從屏幕頂端到Microsoft Excel主窗口頂端的距離)將Application對(duì)象移出屏幕外,實(shí)現(xiàn)隱藏Excel主窗口,如下面的代碼所示。#001 Private Sub Workbook_Open()#002 Application.WindowState = xlNormal#003 Application.Left = 10000#004 UserForm1.StartUpPosition = 2#005 UserForm1.Show#006 End Sub代碼解析:工作簿的Open事件過(guò)程,設(shè)置Application對(duì)象的Left屬性為一個(gè)大的數(shù)值,從而將應(yīng)用程序窗口移出屏幕。第2行代碼將應(yīng)用程序窗口設(shè)置為正常狀態(tài),只有當(dāng)應(yīng)用程序窗口正常顯示時(shí)才能夠設(shè)置A
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度大數(shù)據(jù)分析處理個(gè)人勞務(wù)合同3篇
- 2025年浙江嘉興市海寧市城投集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 二零二五年度鞋類產(chǎn)品回收與再利用技術(shù)研究合同3篇
- 2025年度個(gè)人健康保險(xiǎn)連帶擔(dān)保協(xié)議4篇
- 2025年遼寧鞍山國(guó)家高新技術(shù)產(chǎn)業(yè)開發(fā)區(qū)國(guó)有企業(yè)招聘筆試參考題庫(kù)附帶答案詳解
- 2025年度個(gè)人果園生態(tài)旅游開發(fā)與承包經(jīng)營(yíng)合同4篇
- 二零二五年度綠色能源貸款擔(dān)保服務(wù)協(xié)議4篇
- 二零二五年度門窗五金件行業(yè)人才培養(yǎng)與引進(jìn)合同4篇
- 二零二五年度民辦學(xué)校學(xué)生宿舍維修與設(shè)施更新合同4篇
- 2025年度智能門禁系統(tǒng)節(jié)能環(huán)保改造合同文檔4篇
- 第22單元(二次函數(shù))-單元測(cè)試卷(2)-2024-2025學(xué)年數(shù)學(xué)人教版九年級(jí)上冊(cè)(含答案解析)
- 藍(lán)色3D風(fēng)工作總結(jié)匯報(bào)模板
- 安全常識(shí)課件
- 河北省石家莊市2023-2024學(xué)年高一上學(xué)期期末聯(lián)考化學(xué)試題(含答案)
- 2024年江蘇省導(dǎo)游服務(wù)技能大賽理論考試題庫(kù)(含答案)
- 2024年中考英語(yǔ)閱讀理解表格型解題技巧講解(含練習(xí)題及答案)
- 新版中國(guó)食物成分表
- 浙江省溫州市溫州中學(xué)2025屆數(shù)學(xué)高二上期末綜合測(cè)試試題含解析
- 2024年山東省青島市中考生物試題(含答案)
- 保安公司市場(chǎng)拓展方案-保安拓展工作方案
- GB/T 15843.2-2024網(wǎng)絡(luò)安全技術(shù)實(shí)體鑒別第2部分:采用鑒別式加密的機(jī)制
評(píng)論
0/150
提交評(píng)論