Excel怎么禁用/启用所有快捷键?禁用快捷键VBA代码

Excel怎么禁用/启用所有快捷键?禁用快捷键VBA代码

如果你不想使用内置的快捷键,或者不希望你开发的界面因为快捷键而被破坏,你可能会想禁用所有的Excel快捷键。

下面的程序禁用所有的Excel快捷键:

Sub Disable_Keys()
    Dim StartKeyCombination As Variant
    Dim KeysArray As Variant
    Dim Key As Variant
    Dim I As Long
 
    On Error Resume Next
 
   'Shift键 = "+"  (加号)
   'Ctrl键 = "^"   (脱字号)
   'Alt键 = "%"    (百分号)
   '使用这些键及其组合填充数组
   'Shift-Ctrl, Shift- Alt, Ctrl-Alt, Shift-Ctrl-Alt
 
    For Each StartKeyCombination In Array("+", "^", "%","+^", "+%", "^%", "+^%")
       KeysArray = Array("{BS}", "{BREAK}","{CAPSLOCK}", "{CLEAR}", "{DEL}", _
                   "{DOWN}","{END}", "{ENTER}", "~", "{ESC}","{HELP}", "{HOME}", _
                   "{INSERT}", "{LEFT}", "{NUMLOCK}","{PGDN}", "{PGUP}", _
                   "{RETURN}", "{RIGHT}", "{SCROLLLOCK}","{TAB}", "{UP}")
 
        '禁用StartKeyCombination中每个键与KeysArray中的组合键
        For Each Key In KeysArray
           Application.OnKey StartKeyCombination & Key, ""
        Next Key
 
        '禁用StartKeyCombination中每个键与其它键的组合键
        For I= 0 To 255
           Application.OnKey StartKeyCombination & Chr$(I), ""
        Next I
 
        '禁用F1 -F15键与Shift, Ctrl 或 Alt 键的组合键
        For I= 1 To 15
           Application.OnKey StartKeyCombination & "{F" & I &"}", ""
        Next I
    Next StartKeyCombination
 
   '禁用F1 – F15 键
    For I = 1 To 15
       Application.OnKey "{F" & I & "}",""
    Next I
 
   '禁用PGDN和PGUP键
   Application.OnKey "{PGDN}", ""
   Application.OnKey "{PGUP}", ""
End Sub

下面的程序启用所有的Excel快捷键:

Sub Enable_Keys()
    Dim StartKeyCombination As Variant
    Dim KeysArray As Variant
    Dim Key As Variant
    Dim I As Long
 
    On Error Resume Next
 
   'Shift键 = "+"  (加号)
   'Ctrl键 = "^"   (脱字号)
   'Alt键 = "%"    (百分号)
   '使用这些键及其组合填充数组
   'Shift-Ctrl, Shift- Alt, Ctrl-Alt, Shift-Ctrl-Alt
 
    For Each StartKeyCombination In Array("+", "^", "%","+^", "+%", "^%", "+^%")
       KeysArray = Array("{BS}", "{BREAK}","{CAPSLOCK}", "{CLEAR}", "{DEL}", _
                   "{DOWN}", "{END}", "{ENTER}","~", "{ESC}", "{HELP}", "{HOME}", _
                    "{INSERT}","{LEFT}", "{NUMLOCK}", "{PGDN}","{PGUP}", _
                   "{RETURN}", "{RIGHT}", "{SCROLLLOCK}","{TAB}", "{UP}")
 
        '启用StartKeyCombination中每个键与KeysArray中的组合键
        For Each Key In KeysArray
           Application.OnKey StartKeyCombination & Key
        Next Key
 
        '启用StartKeyCombination中每个键与其它键的组合键
        For I= 0 To 255
           Application.OnKey StartKeyCombination & Chr$(I)
        Next I
 
        '启用F1 -F15键与Shift, Ctrl 或 Alt 键的组合键
        For I= 1 To 15
           Application.OnKey StartKeyCombination & "{F" & I &"}"
        Next I
    Next StartKeyCombination
 
   '启用 F1 – F15 键
    For I = 1 To 15
       Application.OnKey "{F" & I & "}"
    Next I
 
   '启用PGDN和PGUP键
   Application.OnKey "{PGDN}"
   Application.OnKey "{PGUP}"
End Sub

你可以在工作簿打开时禁用所有快捷键,在关闭工作簿时恢复所有快捷键,这需要你在ThisWorkbook模块中放置下面的代码:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   Enable_Keys
End Sub
 
Private Sub Workbook_Open()
    Disable_Keys
End Sub建议在这个工作簿开发时,在功能区或者工作表界面放置一个恢复所有快捷键的按钮,单击该按钮可以恢复所有快捷功能,以避免在需要时不方便编辑代码的情形。

温馨提示:本站提供的一切软件、教程和内容信息都来自网络收集整理,仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,版权争议与本站无关。用户必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

给TA打赏
共{{data.count}}人
人已打赏
Excel/VBA

tusimpleBI官网 一款专业的Excel商务图表绘制插件

2025-3-10 16:36:24

Excel/VBA

Excel新增了14个新函数,怎么使用Excel新函数?

2025-3-10 16:36:26

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索