先插一句啊,,本人代寫VBA代碼程序,詳情咨詢QQ:546039945 正文開始前,,還是廣告,,掃一掃二維碼,正版視頻教材和30本電子教材全部擁有,!趕緊行動?。?/p> 注:視頻在手機上不顯示,,如需查看請在電腦上輸入:https://item.taobao.com/item.htm?id=521212444712 066 Excel中的“定時器” Excel VBA并沒有提供定時器控件,,但是用戶可以通過Application對象的OnTime方法實現(xiàn)簡單的定時器功能,如下面的代碼所示,。 Sub StartTimer() Sheet1.Cells(1,,2) = Sheet1.Cells(1,2) + 1 Application.OnTimeNow + TimeValue('00:00:01'),,'StartTimer' End Sub 代碼解析: StartTimer過程,,使用Application對象的OnTime方法循環(huán)調(diào)用StartTimer過程實現(xiàn)每隔一秒鐘運行一次StartTimer過程,從而在B1單元格中不斷地顯示程序累計運行時間,。 第2行代碼將B1單元格的值在原有的數(shù)字上加1,。 第3行代碼使用OnTime方法在1秒后重新調(diào)用StartTimer過程,使B1單元格的值不斷的加1,,從而顯示程序累計運行時間,。 應用于Application對象的OnTime方法能夠安排一個過程在將來的特定時間運行,語法如下: expression.OnTime(EarliestTime,,Procedure,,LatestTime,,Schedule) 參數(shù)expression是必需的,返回一個Application對象,。 參數(shù)EarliestTime是必需的,,設置指定的過程開始運行的時間。使用Now + TimeValue(time)可以安排從現(xiàn)在開始經(jīng)過一段時間之后運行某個過程,,使用TimeValue(time)可以安排在指定的時間運行某個過程,。 參數(shù)Procedure是必需的,設置要運行的過程名稱,。 參數(shù)LatestTime是可選的,,設置過程開始運行的最晚時間。例如將參數(shù)LatestTime設置為EarliestTime+10,,當時間到了EarliestTime時如果Excel不處于空閑狀態(tài),,那么Excel將等待10秒,如果在10秒內(nèi)Excel不能回到空閑狀態(tài),,則不運行該過程,。如果省略該參數(shù),Excel將一直等待到可以運行該過程為止,。 參數(shù)Schedule是可選的,,如果其值為True(默認值),則安排一個新的OnTime過程,,如果其值為False,則清除先前設置的過程,。 取消定時的代碼如下: Sub EndTimer() On ErrorGoTo Line Application.OnTimeNow + TimeValue('00:00:01'),,'StartTimer',,,False Sheet1.Cells(1,,2) = 0 ExitSub Line: MsgBox'請先按[開始]按鈕!' End Sub 代碼解析: EndTimer過程取消StartTimer過程的定時。 第2行代碼錯誤處理語句,,因為如果還沒有運行StartTimer過程而先運行EndTimer過程取消定時,,程序會提示錯誤,,,因此使用On Error GoTo Line語句在錯誤發(fā)生時執(zhí)行第7行代碼顯示一個提示消息框,。
▲067 設置活動打印機的名稱 使用Application 對象的ActivePrinter屬性可以設置活動打印機的名稱,如下面的代碼所示,。 Sub myPrinter() DimmyPrinter As String myPrinter= 'HP LaserJet P1008 在 Ne04:' Application.ActivePrinter= myPrinter MsgBox'活動打印機為:' & Left(myPrinter,,InStr(myPrinter,'在') - 1) End Sub 代碼解析: myPrinter過程將活動打印機設置為“HP LaserJet P1008”,。 第3行代碼指定需要設置為活動打印機的名稱,,第4行代碼通過設置Application 對象的ActivePrinter屬性將活動打印機設置為“HP LaserJet P1008”,。 第5行代碼使用消息框顯示活動打印機的名稱及型號。
▲068 屏蔽,、改變組合鍵的功能 使用Application 對象的OnKey方法可以屏蔽或改變組合鍵的默認操作,,如下面的代碼所示。 Private Sub Workbook_Open() Application.OnKey'^{c}',,'myOnKey' End Sub Sub myOnKey() MsgBox'本工作表禁止復制數(shù)據(jù)!' End Sub 代碼解析: 第1行到第3行代碼工作簿的Open事件,,在工作簿打開時使用OnKey方法改變<Ctrl+C>組合鍵的功能。 應用于Application 對象的OnKey方法指定特定鍵或特定的組合鍵運行的過程,,語法如下: expression.OnKey(Key,,Procedure) 參數(shù)expression是必需的,該表達式返回一個Application對象,。 參數(shù)Key是必需的,,用于表示要按的鍵的字符串,具體請參閱VBA中的幫助,。 參數(shù)Procedure是可選的,,表示要運行的過程名稱的字符串,本示例中將過程名稱指定為第4行到第6行代碼的“myOnKey”過程,,當按下<Ctrl +C>組合鍵時并不會執(zhí)行復制操作而只顯示一個消息框,。如果將Procedure參數(shù)指定為空文本(““),則按<Ctrl +C>組合鍵時不發(fā)生任何操作,,達到屏蔽組合鍵的效果,。 如果省略Procedure參數(shù),則按下<Ctrl+C>組合鍵時產(chǎn)生Microsoft Excel中的正常結(jié)果,,同時清除先前使用OnKey方法所做的特殊擊鍵設置,,所以恢復<Ctrl +C>組合鍵的代碼如下: Application.OnKey'^{c}' 為了不影響其他工作簿的功能,恢復代碼就放在工作簿的Deactivate事件中,,如下面的代碼所示: Private Sub Workbook_Deactivate() Application.OnKey'^{c}' End Sub 代碼解析: 當工作簿從活動狀態(tài)轉(zhuǎn)為非活動狀態(tài)時恢復<Ctrl +C>組合鍵的正常功能,。
▲069 設置Excel窗口標題欄 Excel主窗口標題欄默認的名稱是“Microsoft Excel”,通過設置Application對象的Caption屬性可以改變Excel主窗口的標題欄,,如下面的代碼所示,。 Sub AppCaption() Application.Caption= '修改標題欄名稱' MsgBox'下面將恢復默認的標題欄名稱!' Application.Caption= Empty End Sub 代碼解析: 第2行代碼將Excel窗口標題設置為“修改標題欄名稱”。 應用于Application對象的Caption屬性設置顯示在Microsoft Excel主窗口標題欄中的名稱,,語法如下: expression.Caption 第3行代碼恢復MicrosoftExcel主窗口標題欄中的名稱,。如果未設置Caption屬性(““)或?qū)⑵湓O置為Empty(表示未初始化的變量值),則本屬性返回“MicrosoftExcel”,。 將Caption屬性設置為常數(shù)vbNullChar(表示值為 0 的字符)可以刪除標題欄中的名稱,,如下面的代碼所示。 Sub DleCaption() Application.Caption= vbNullChar MsgBox'下面將恢復默認的標題欄名稱!' Application.Caption=““ End Sub 代碼解析: 第2行代碼刪除Excel主窗口標題欄,,
▲070 自定義Excel狀態(tài)欄 Excel狀態(tài)欄顯示應用程序的當前狀態(tài)(例如就緒,、輸入等)或上下文提示信息,,通過設置Application對象的Statusbar屬性可以修改狀態(tài)欄,以顯示用戶自定義的信息,,代碼如下: Sub myStatusBar() Dimrng As Range ForEach rng In Sheet1.Range('A1:D10000') Application.StatusBar = '正在計算單元格 ' & rng.Address(0,,0) & ' 的數(shù)據(jù)...' rng = 100 Next Application.StatusBar= False End Sub 代碼解析: myStatusBar過程在給選定單元格區(qū)域賦值的同時,將Excel狀態(tài)欄中的文字設置為正在賦值的單元格地址,。 應用于Application對象的StatusBar屬性返回或設置狀態(tài)欄中的文字,,如果需要恢復默認的狀態(tài)欄文字,將本屬性設為False即可,。 |
|
來自: wdmexcel > 《Excel Vba》