PEBKAC Excel
PEBKAC with Excel
我在 Excel 2016 年使用我剪切和粘贴的 VBA 代码成功地禁用了右键菜单中的剪切,现在我不知道如何撤消我做了什么。
我是一名护士,具有 一些 技术知识(足以惹上麻烦...),我的领导团队正在引入基于 Excel。作为培训的一部分,他们说在任何情况下我们都不应该使用 cut 来重新安排分配,所以我决定看看是否有办法完全禁用 cut 的能力。
我找到了几个实现此目的的建议,并从几个网站复制粘贴了 VBA。在我反复试验的过程中,我使用键盘快捷键进行了多次测试,但没有意识到我已经在右键菜单中实现了这一点。 PEBKAC 时刻到来了,当时我在没有导出的情况下删除了模块,然后意识到我已经做了一个持久的改变,现在不知道如何撤销我所做的。
任何建议,或者我是否需要“寻求技术支持”?
编辑:
我知道我用过的两个是:
选项显式
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, _
ByVal 目标为 Excel.Range)
Select 案例Application.CutCopyMode
案例是=假
'没做什么
案例是= xlCopy
'没做什么
案例是= xlCut
MsgBox "请不要剪切和粘贴。使用复制和粘贴;然后删除源。"
Application.CutCopyMode = False '清除剪贴板并取消剪切
结束Select
结束子
...和...
http://www.vbaexpress.com/kb/getarticle.php?kb_id=373
我尝试编辑第二个,但没有明显的结果。
编辑 2:
JNevill,固定!太感谢了,以后我不要再装傻了。
使用 that link I shared in the comments 中的代码向后工作,可能 运行 以下内容会让您回到起点(或接近起点):
Sub unBreakMyExcel()
Dim cBar As CommandBar
Dim cBarCtrl As CommandBarControl
For Each cBar In Application.CommandBars
If cBar.Name <> "Clipboard" Then
'ID 21 is "Cut"
Set cBarCtrl = cBar.FindControl(ID:=21, recursive:=True)
If Not cBarCtrl Is Nothing Then cBarCtrl.Enabled = True
End If
Next
End Sub
*我自己还没有测试过。代码很旧,但我认为在制作 post 和你的 excel.
版本之间没有太大变化
这样做是遍历每个命令栏(应该包括 right-click 下拉菜单)并启用剪切功能(如果命令栏中存在)。
我在 Excel 2016 年使用我剪切和粘贴的 VBA 代码成功地禁用了右键菜单中的剪切,现在我不知道如何撤消我做了什么。
我是一名护士,具有 一些 技术知识(足以惹上麻烦...),我的领导团队正在引入基于 Excel。作为培训的一部分,他们说在任何情况下我们都不应该使用 cut 来重新安排分配,所以我决定看看是否有办法完全禁用 cut 的能力。
我找到了几个实现此目的的建议,并从几个网站复制粘贴了 VBA。在我反复试验的过程中,我使用键盘快捷键进行了多次测试,但没有意识到我已经在右键菜单中实现了这一点。 PEBKAC 时刻到来了,当时我在没有导出的情况下删除了模块,然后意识到我已经做了一个持久的改变,现在不知道如何撤销我所做的。
任何建议,或者我是否需要“寻求技术支持”?
编辑: 我知道我用过的两个是: 选项显式 Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, _ ByVal 目标为 Excel.Range)
Select 案例Application.CutCopyMode 案例是=假 '没做什么 案例是= xlCopy '没做什么 案例是= xlCut MsgBox "请不要剪切和粘贴。使用复制和粘贴;然后删除源。" Application.CutCopyMode = False '清除剪贴板并取消剪切 结束Select
结束子
...和...
http://www.vbaexpress.com/kb/getarticle.php?kb_id=373
我尝试编辑第二个,但没有明显的结果。
编辑 2: JNevill,固定!太感谢了,以后我不要再装傻了。
使用 that link I shared in the comments 中的代码向后工作,可能 运行 以下内容会让您回到起点(或接近起点):
Sub unBreakMyExcel()
Dim cBar As CommandBar
Dim cBarCtrl As CommandBarControl
For Each cBar In Application.CommandBars
If cBar.Name <> "Clipboard" Then
'ID 21 is "Cut"
Set cBarCtrl = cBar.FindControl(ID:=21, recursive:=True)
If Not cBarCtrl Is Nothing Then cBarCtrl.Enabled = True
End If
Next
End Sub
*我自己还没有测试过。代码很旧,但我认为在制作 post 和你的 excel.
版本之间没有太大变化这样做是遍历每个命令栏(应该包括 right-click 下拉菜单)并启用剪切功能(如果命令栏中存在)。