Quit 方法 退出 MicrosoftExcel。 说明: 使用此方法时,如果未保存的工作簿处于打开状态,则 Microsoft Excel 将显示一个对话框,询问是否要保存所作更改。 要防止发生这种情况,请在使用 Quit 方法前保存所有工作簿或将 DisplayAlerts 属性设置为 False。 如果该属性为 False,则在 Microsoft Excel 退出时,即使有未保存的工作簿,也不会显示对话框,而且不保存就退出。 如果将工作簿的 Saved属性设置为 True,而没有将工作簿保存到磁盘上,在退出时不会提示保存该工作簿。 示例1: ThisWorkbook.Saved= True Workbooks.Add ActiveWorkbook.Saved= True Application.Quit 示例2: Application.DisplayAlerts= False Workbooks.Add Application.Quit OnKey 方法 当按特定键或特定的组合键时运行指定的过程。 语法:OnKey(Key,Procedure) Key 必选 String 表示要按的键的字符串。Procedure 可选,表示要运行的过程名称的字符串。 如果 Procedure 为空文本(""),则按 Key 时不发生任何操作。 该格式的 OnKey 将更改指定键在 Microsoft Excel 中产生的正常结果。 如果省略Procedure 参数,则 Key 恢复为 Microsoft Excel 中的正常结果, 同时清除先前使用 OnKey 方法所做的特殊键击设置。 说明: Key 参数可指定任何与 Alt、Ctrl 或 Shift 组合使用的键,还可以指定这些键的任何组合。每一个键可由一个或多个字符表示,比如 "a" 表示字符 a,"{ENTER}" 表示 Enter。 若要指定按对应的键(例如Enter 或 Tab)时的非显示字符,请使用下表所列出的代码。 Backspace {BACKSPACE} 或 {BS} Break {BREAK} Caps Lock {CAPSLOCK} Clear {CLEAR} Delete 或 Del {DELETE} 或 {DEL} 向下键 {DOWN} End {END} Enter(数字小键盘) {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 组合使用的键。 若要指定与其他键组合使用的键,可在键代码之前添加相就对应的符号: Shift +(加号) Ctrl ^(插入符号) Alt %(百分号) 若为特定字符指定处理过程(如 +、^、% 等等),可将此字符用圆括号括起。 当需要为特定的过程指定快捷键时,可以用这个方法; 当需要屏蔽Excel中某些快捷键时,也可以用这个方法; 示例: Sub noCtrlCVX() Application.OnKey "^c", "" 'Procedure 为空文本 (""), '则在Excel中按Ctrl+c时不发生任何操作(在VBE中还是有效的) Application.OnKey "^v", "mysub" '在Excel中按Ctrl+v时,执行mysub过程 Application.OnKey "^x", "mysub" '在Excel中按Ctrl+x时,执行mysub过程 End Sub Sub mysub() MsgBox "禁止复制,剪切快捷键" End Sub Sub CtrlCVX() '恢复Ctrl+c,Ctrl+v,Ctrl+x三个快捷键在Excel中原有的功能 Application.OnKey "^c" Application.OnKey "^v" Application.OnKey "^x" End Sub 注意一点,以上代码要求放入一个标准模块中,方可正常运行。 OnTime 方法 安排一个过程在将来的特定时间运行。 (既可以是具体指定的某个时间,也可以是指定的一段时间之后)。 语法: OnTime(EarliestTime, Procedure, LatestTime,Schedule) EarliestTime 必选,希望此过程运行的时间。 Procedure 必选,要运行的过程名。 LatestTime 可选,过程开始运行的最晚时间。 例如,如果 LatestTime 参数设置为 EarliestTime + 30,且当到达 EarliestTime 时间时, 由于其他过程处于运行状态而导致 Microsoft Excel 不能处于“就绪”、“复制”、“剪切”或“查找”模式, 则将等待 30 秒让第一个过程先完成。 如果 Microsoft Excel 不能在 30 秒内回到“就绪”模式,则不运行此过程。 如果省略该参数,Microsoft Excel 将一直等待到可以运行该过程为止。 Schedule 可选, 如果为 True,则预定一个新的OnTime 过程。 如果为 False,则清除先前设置的过程。默认值为 True。 说明: 使用 Now + TimeValue(time) 可安排经过一段时间(从现在开始计时)之后运行某个过程。 使用 TimeValue(time) 可安排某个过程只在指定的时间运行。 示例: Option Explicit Dim t As Double Sub test() t= Now + TimeValue("00:00:10") Application.OnTime t, "mysub" '在当前时间延后10秒运行mysub过程 '没有指定最晚运行的时间,则会一直等待,直到运行为止。 End Sub Sub noOnTime() On Error Resume Next Application.OnTime t, "mysub", , False '取消之前安排的过程 '要求时间,过程名都要一一对应,最后一个参数为False '只要有时间和过程名参数有一个不对,就会产生错误 '1.过程名要与Ontime方法时指定的过程名相同 '2.时间要与Ontime方法时指定的时间相同, '并且该时间内的过程并没有被执行 End Sub Sub mysub() Application.StatusBar = "计划运行时间:" &Format(t, "hh:mm:ss") '如果过程需要反复的执行,可以在运行过程结束前再次安排 t= Now + TimeValue("00:00:10") Application.OnTime t, "mysub" End Sub 注意一点,以上代码要求放入一个标准模块中,方可正常运行。
|
|
来自: Monica_qu > 《VBA-烟花原创》