You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用Excel 2021触摸屏长按/双击弹出的触摸快捷菜单?

禁用Excel 2021触摸屏长按/双击弹出菜单的VBA解决方案

你遇到的这个水平弹出栏是Excel针对触摸屏设计的专属快捷菜单,普通的右键、双击事件拦截无法覆盖它,可通过以下两种方法处理:

方法1:直接禁用触摸快捷命令栏

在工作簿的ThisWorkbook模块中添加以下代码,从根源上关闭该触摸菜单:

Private Sub Workbook_Open()
    ' 禁用触摸屏快捷命令栏,添加错误捕获避免菜单不存在时报错
    On Error Resume Next
    Application.CommandBars("Touch Shortcuts").Enabled = False
    Application.CommandBars("Touch Mode").Enabled = False
    On Error GoTo 0
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ' 可选:关闭工作簿时恢复触摸菜单,避免影响其他工作簿的触摸功能
    On Error Resume Next
    Application.CommandBars("Touch Shortcuts").Enabled = True
    Application.CommandBars("Touch Mode").Enabled = True
    On Error GoTo 0
End Sub

方法2:关闭Excel触摸交互模式

搭配你现有的右键、双击禁用代码,强制Excel退出触摸模式,彻底屏蔽触摸专属交互:

' 保留你原有的右键禁用代码
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Cancel = True
End Sub

' 保留你原有的双击禁用代码
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Cancel = True
End Sub

' 打开工作簿时关闭触摸模式
Private Sub Workbook_Open()
    Application.Touch = False
End Sub

' 可选:关闭工作簿时恢复触摸模式
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.Touch = True
End Sub

注意事项

  • 所有代码需粘贴到ThisWorkbook模块(不是普通工作表模块)
  • 工作簿需保存为启用宏的格式(.xlsm),否则代码无法生效
  • 若仅需针对特定工作表生效,可将Workbook_SheetXXX事件改为对应工作表的Worksheet_XXX事件

内容的提问来源于stack exchange,提问作者edednedy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 01:57:13