Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2423|回复: 2

excel2007以上版本中能不能打开工作簿自动禁用剪切功能,最好是所有剪切操作都禁用

[复制链接]
发表于 2020-1-7 15:31 | 显示全部楼层 |阅读模式
本帖最后由 爱疯 于 2020-1-8 09:21 编辑

阿童木http://www.excelpx.com/thread-177434-1-1.html分享了屏蔽2007功能区的剪切功能,方法如下:

在customUI.xml里加入下面代码:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <commands>
            <command idMso="Cut" getEnabled="GetEnable"/>
    </commands>
</customUI>


Excel中添加一个模块,添加以下代码:
'定义RibbonUI
Public rxIRibbonUI As IRibbonUI
'定义全局变量Bln,来判断是否禁用Cut
Public Bln As Boolean

'RibbonUI加载时运行
Sub rxIRibbonUI_onLoad(ribbon As IRibbonUI)
    Set rxIRibbonUI = ribbon
    Bln = True
End Sub

'剪切按钮回调,控制其是否禁用
Sub GetEnable(control As IRibbonControl, ByRef returnedVal)
    returnedVal = Bln
End Sub

'改变全局变量,并刷新RibbonUI
Sub Cut_Enanble()
    Bln = Not Bln
    rxIRibbonUI.Invalidate
End Sub



经过测试,用按钮能禁用功能区的剪切键。不过,能不能改为打开工作簿后自动禁用剪切功能,最好是所有剪切操作都禁用(需在2007版本以上)?望大侠们不吝赐教。谢谢!

Ribbon Cut Enable.rar

13.09 KB, 下载次数: 4

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2020-1-7 15:58 | 显示全部楼层
系统功能的禁用和启用网上能找到代码,搜一下就好了。
下面是我搜来的,好不好用我不知道,我从不设置这东西,你自己测试:
With Application
'禁止自动填充
.CellDragAndDrop = False

'屏蔽常用工具栏剪切、复制、粘贴
.CommandBars(3).Controls("剪切(&T)").Enabled = False
.CommandBars(3).Controls("复制(&C)").Enabled = False
.CommandBars(3).Controls("粘贴(&P)").Enabled = False

'屏蔽单元格右键菜单中的剪切、复制、粘贴命令
.CommandBars("Cell").Controls("剪切(&T)").Enabled = False
.CommandBars("Cell").Controls("复制(&C)").Enabled = False
.CommandBars("Cell").Controls("粘贴(&P)").Enabled = False

'屏蔽列右键菜单中的剪切、复制、粘贴命令
.CommandBars("Column").Controls("剪切(&T)").Enabled = False
.CommandBars("Column").Controls("复制(&C)").Enabled = False
.CommandBars("Column").Controls("粘贴(&P)").Enabled = False

'屏蔽行右键菜单中的剪切、复制、粘贴命令
.CommandBars("Row").Controls("剪切(&T)").Enabled = False
.CommandBars("Row").Controls("复制(&C)").Enabled = False
.CommandBars("Row").Controls("粘贴(&P)").Enabled = False

'屏蔽编辑菜单中的剪切、复制、粘贴命令
.CommandBars(1).Controls("编辑(&E)").Controls("剪切(&T)").Enabled = False
.CommandBars(1).Controls("编辑(&E)").Controls("复制(&C)").Enabled = False
.CommandBars(1).Controls("编辑(&E)").Controls("粘贴(&P)").Enabled = False
'屏蔽键盘剪切、复制、粘贴键
.OnKey "^x", ""
.OnKey "^c", ""
.OnKey "^v", ""
End With

要恢复,你自己去搜,好多的。
回复

使用道具 举报

 楼主| 发表于 2020-1-8 07:58 | 显示全部楼层
hfwufanhf2006 发表于 2020-1-7 15:58
系统功能的禁用和启用网上能找到代码,搜一下就好了。
下面是我搜来的,好不好用我不知道,我从不设置这东 ...

谢谢。不过这个代码在2003版本可以,在2007以上版本就无效了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 21:02 , Processed in 0.819155 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表