Quit 方法 退出 MicrosoftExcel。 說(shuō)明: 使用此方法時(shí),如果未保存的工作簿處于打開(kāi)狀態(tài),則 Microsoft Excel 將顯示一個(gè)對(duì)話(huà)框,詢(xún)問(wèn)是否要保存所作更改。 要防止發(fā)生這種情況,請(qǐng)?jiān)谑褂?Quit 方法前保存所有工作簿或?qū)?DisplayAlerts 屬性設(shè)置為 False。 如果該屬性為 False,則在 Microsoft Excel 退出時(shí),即使有未保存的工作簿,也不會(huì)顯示對(duì)話(huà)框,而且不保存就退出。 如果將工作簿的 Saved屬性設(shè)置為 True,而沒(méi)有將工作簿保存到磁盤(pán)上,在退出時(shí)不會(huì)提示保存該工作簿。 示例1: ThisWorkbook.Saved= True Workbooks.Add ActiveWorkbook.Saved= True Application.Quit 示例2: Application.DisplayAlerts= False Workbooks.Add Application.Quit OnKey 方法 當(dāng)按特定鍵或特定的組合鍵時(shí)運(yùn)行指定的過(guò)程。 語(yǔ)法:OnKey(Key,Procedure) Key 必選 String 表示要按的鍵的字符串。Procedure 可選,表示要運(yùn)行的過(guò)程名稱(chēng)的字符串。 如果 Procedure 為空文本(""),則按 Key 時(shí)不發(fā)生任何操作。 該格式的 OnKey 將更改指定鍵在 Microsoft Excel 中產(chǎn)生的正常結(jié)果。 如果省略Procedure 參數(shù),則 Key 恢復(fù)為 Microsoft Excel 中的正常結(jié)果, 同時(shí)清除先前使用 OnKey 方法所做的特殊鍵擊設(shè)置。 說(shuō)明: Key 參數(shù)可指定任何與 Alt、Ctrl 或 Shift 組合使用的鍵,還可以指定這些鍵的任何組合。每一個(gè)鍵可由一個(gè)或多個(gè)字符表示,比如 "a" 表示字符 a,"{ENTER}" 表示 Enter。 若要指定按對(duì)應(yīng)的鍵(例如Enter 或 Tab)時(shí)的非顯示字符,請(qǐng)使用下表所列出的代碼。 Backspace {BACKSPACE} 或 {BS} Break {BREAK} Caps Lock {CAPSLOCK} Clear {CLEAR} Delete 或 Del {DELETE} 或 {DEL} 向下鍵 {DOWN} End {END} Enter(數(shù)字小鍵盤(pán)) {ENTER} Enter ~(波形符) Esc {ESCAPE} 或 {ESC} Help {HELP} Home {HOME} Ins {INSERT} 向左鍵 {LEFT} Num Lock {NUMLOCK} PageDown {PGDN} PageUp {PGUP} Return {RETURN} 向右鍵 {RIGHT} Scroll Lock {SCROLLLOCK} Tab {TAB} 向上鍵 {UP} F1 到 F15 {F1} 到 {F15} 還可指定與 Shift 和/或 Ctrl 和/或 Alt 組合使用的鍵。 若要指定與其他鍵組合使用的鍵,可在鍵代碼之前添加相就對(duì)應(yīng)的符號(hào): Shift +(加號(hào)) Ctrl ^(插入符號(hào)) Alt %(百分號(hào)) 若為特定字符指定處理過(guò)程(如 +、^、% 等等),可將此字符用圓括號(hào)括起。 當(dāng)需要為特定的過(guò)程指定快捷鍵時(shí),可以用這個(gè)方法; 當(dāng)需要屏蔽Excel中某些快捷鍵時(shí),也可以用這個(gè)方法; 示例: Sub noCtrlCVX() Application.OnKey "^c", "" 'Procedure 為空文本 (""), '則在Excel中按Ctrl+c時(shí)不發(fā)生任何操作(在VBE中還是有效的) Application.OnKey "^v", "mysub" '在Excel中按Ctrl+v時(shí),執(zhí)行mysub過(guò)程 Application.OnKey "^x", "mysub" '在Excel中按Ctrl+x時(shí),執(zhí)行mysub過(guò)程 End Sub Sub mysub() MsgBox "禁止復(fù)制,剪切快捷鍵" End Sub Sub CtrlCVX() '恢復(fù)Ctrl+c,Ctrl+v,Ctrl+x三個(gè)快捷鍵在Excel中原有的功能 Application.OnKey "^c" Application.OnKey "^v" Application.OnKey "^x" End Sub 注意一點(diǎn),以上代碼要求放入一個(gè)標(biāo)準(zhǔn)模塊中,方可正常運(yùn)行。 OnTime 方法 安排一個(gè)過(guò)程在將來(lái)的特定時(shí)間運(yùn)行。 (既可以是具體指定的某個(gè)時(shí)間,也可以是指定的一段時(shí)間之后)。 語(yǔ)法: OnTime(EarliestTime, Procedure, LatestTime,Schedule) EarliestTime 必選,希望此過(guò)程運(yùn)行的時(shí)間。 Procedure 必選,要運(yùn)行的過(guò)程名。 LatestTime 可選,過(guò)程開(kāi)始運(yùn)行的最晚時(shí)間。 例如,如果 LatestTime 參數(shù)設(shè)置為 EarliestTime + 30,且當(dāng)?shù)竭_(dá) EarliestTime 時(shí)間時(shí), 由于其他過(guò)程處于運(yùn)行狀態(tài)而導(dǎo)致 Microsoft Excel 不能處于“就緒”、“復(fù)制”、“剪切”或“查找”模式, 則將等待 30 秒讓第一個(gè)過(guò)程先完成。 如果 Microsoft Excel 不能在 30 秒內(nèi)回到“就緒”模式,則不運(yùn)行此過(guò)程。 如果省略該參數(shù),Microsoft Excel 將一直等待到可以運(yùn)行該過(guò)程為止。 Schedule 可選, 如果為 True,則預(yù)定一個(gè)新的OnTime 過(guò)程。 如果為 False,則清除先前設(shè)置的過(guò)程。默認(rèn)值為 True。 說(shuō)明: 使用 Now + TimeValue(time) 可安排經(jīng)過(guò)一段時(shí)間(從現(xiàn)在開(kāi)始計(jì)時(shí))之后運(yùn)行某個(gè)過(guò)程。 使用 TimeValue(time) 可安排某個(gè)過(guò)程只在指定的時(shí)間運(yùn)行。 示例: Option Explicit Dim t As Double Sub test() t= Now + TimeValue("00:00:10") Application.OnTime t, "mysub" '在當(dāng)前時(shí)間延后10秒運(yùn)行mysub過(guò)程 '沒(méi)有指定最晚運(yùn)行的時(shí)間,則會(huì)一直等待,直到運(yùn)行為止。 End Sub Sub noOnTime() On Error Resume Next Application.OnTime t, "mysub", , False '取消之前安排的過(guò)程 '要求時(shí)間,過(guò)程名都要一一對(duì)應(yīng),最后一個(gè)參數(shù)為False '只要有時(shí)間和過(guò)程名參數(shù)有一個(gè)不對(duì),就會(huì)產(chǎn)生錯(cuò)誤 '1.過(guò)程名要與Ontime方法時(shí)指定的過(guò)程名相同 '2.時(shí)間要與Ontime方法時(shí)指定的時(shí)間相同, '并且該時(shí)間內(nèi)的過(guò)程并沒(méi)有被執(zhí)行 End Sub Sub mysub() Application.StatusBar = "計(jì)劃運(yùn)行時(shí)間:" &Format(t, "hh:mm:ss") '如果過(guò)程需要反復(fù)的執(zhí)行,可以在運(yùn)行過(guò)程結(jié)束前再次安排 t= Now + TimeValue("00:00:10") Application.OnTime t, "mysub" End Sub 注意一點(diǎn),以上代碼要求放入一個(gè)標(biāo)準(zhǔn)模塊中,方可正常運(yùn)行。
|
|
來(lái)自: Monica_qu > 《VBA-煙花原創(chuàng)》