ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4135|回复: 8

请问如何禁用默认快捷方式?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2003-9-1 05:49 | 显示全部楼层 |阅读模式
Private Sub Document_Open() Dim i As Integer For i = 1 To 128'(有些XP中为130) CommandBars(i).Enabled = False Next i End Sub 运行些程序后,WORD中所有命令基本均被禁用.但是,一些WORD(可能是WINDOWS)默认的快捷方式如:CTRL+C(X\V),CTRL+O,F12等等皆能使用,如何使它们也不能起作用? 还请高手指教.

TA的精华主题

TA的得分主题

发表于 2003-9-2 22:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我的想法—— 1、如果可以通过代码,连快捷方式都给禁了,那你还用不用Ctrl+F8或Ctrl+F11??!! 如果不能用,那你自己都无法正常恢复到原始状态! 另外,对于那些知道各种快捷方式的人来说,他恐怕也知道《删除Normal模版,就能还原到原始状态》的方法,你这个宏还有什么意义呢? 2、当然,方法总还是有的,不过就要用到外接的编程语言了(比如C或C++,只要是能进行底程操作的语言都可以。)。
[此贴子已经被作者于2003-9-2 22:15:50编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2003-9-3 03:37 | 显示全部楼层
谢谢两位点拨。先前也未考虑到这些情况,我可能有些操之过急,好比想造“万能溶剂”,什么都能溶解,但用什么容器来储存呢? 缘起于,WORD绘了一张系统流程图,里面有分节,流程图采用分节保护窗体的方式,而其余则不保护,原想禁用了复制和保护后,不能对流程图进行更改(甚至他人复制),但CTRL+A,CTRL+C等破碎了我的想法。 如果只能看,不能操作或猎取文档内容的话,只能锁定全部窗体(节)了? 对了,版主能否就禁用光标给我讲一下,如何代码。 一并谢谢过。

TA的精华主题

TA的得分主题

 楼主| 发表于 2003-9-12 11:43 | 显示全部楼层
这个不错,多谢! 但在实际运行过程中,对于已经保护窗体的文档,则运行中出错;另外,能否直接禁运鼠标或光标,我查了一下,没找到。

TA的精华主题

TA的得分主题

发表于 2003-9-15 23:14 | 显示全部楼层
以下是引用守柔在2003-9-12 11:43:00的发言: 这个不错,多谢! 但在实际运行过程中,对于已经保护窗体的文档,则运行中出错;另外,能否直接禁运鼠标或光标,我查了一下,没找到。
只锁鼠标(可以通过API函数实现)是不行的,因为可以用光标进行操作。但锁光标的办法不单VBA没有,就是API中我也没有找到,版主可以指点一下吗??!! 另外版主在五楼中给出的代码,可以在“工具——>解除文档保护”中解除,并没有彻底解决这个问题。

TA的精华主题

TA的得分主题

 楼主| 发表于 2003-9-20 05:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
关于禁止文档修改和打印的问题: 思路: 保存(即修改后不会保存)和打印,在EXCEL(WORD)中有三种方法可以进行操作:文件/打印(保存);常用工具栏中打印当前文档和保存命令按钮;快捷键:CTRL+P;CTRL+S。 针对措施: 1:在VB编辑器中录入如下代码 Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.CommandBars(1).Controls(1).Enabled = True Application.CommandBars(1).Controls(6).Controls(13).Enabled = True activeworkbook.close savechanges:=false End Sub Private Sub Workbook_Open() Application.CommandBars(1).Controls(1).Enabled = False Application.CommandBars(1).Controls(6).Controls(13).Enabled = False End Sub 2:录制新宏并编辑: 录制二个任意宏,指定其快捷方式分别为CTRL+S和CTRL+P;进入宏/运行宏,编辑这两个宏,将原来的录制代码删掉,均改写为: ActiveWorkbook.Close savechanges:=False 注意:在录制新宏对话框中,“保存在”为当前工作薄。 3:重新指定打印与存盘按钮,在工具/自定义中,出现一个自定义工具栏对话框,右击存盘(打印)按钮,“指定宏”为上述两个录制的宏。 上述是在EXCEL中使用,在WORD中也基本相同。直至今天,才明白七兄上次所说的修改WORD命令并保存在全局模板之事。为使大家少走弯路,摘录如下: 大多数 Word 命令都可通过转换为宏的方式对其进行修改。例如,可修改“文件”菜单上的“打开”命令,使其不再显示 Word 文档文件列表(扩展名为 .doc 的文件),而显示当前文件夹中的所有文件。 若要在“宏”对话框中显示内置 Word 命令列表,可在“宏的位置”框中选定“Word 命令”。显示的命令列表中包含所有的菜单命令、工具栏命令或快捷键命令。菜单命令名称以相关的菜单名称开头。例如,“文件”菜单中的“保存”命令显示为“FileSave”。 通过将一个宏命名为与 Word 命令相同的名称,就可用宏替代 Word 命令。例如,如果创建一个名为“FileSave”的宏,当选择“文件”菜单上的“保存”命令、单击“保存”工具栏按钮,或按“保存文件”快捷键时,Word 将运行该宏。 本示例介绍了修改 FileSave 命令的步骤。 在“工具”菜单上,指向“宏”,然后单击“宏”。 在“宏的位置”框中,选择“Word 命令”。 在“宏名”框中,选择“FileSave”。 在“宏的位置”框中选择一个模板或文档以保存该宏。例如,选择 Normal.dot(全局模板)可生成一个共用宏(即修改所有文档的“FileSave”命令)。 单击“创建”按钮。 FileSave 宏显示如下: Sub FileSave() ' ' FileSave Macro ' Saves the active document or template ' ActiveDocument.Save End Sub 可添加指令或删除现有的 ActiveDocument.Save 指令。之后在运行“FileSave”命令时,新的 FileSave 宏将取代 word 命令。若要恢复“FileSave”原有的功能,需重新命名新的 FileSave 宏或将之删除。

TA的精华主题

TA的得分主题

 楼主| 发表于 2003-9-20 05:40 | 显示全部楼层
上述的一个问题,其实也就是如何控制(修改)或禁用默认命令的思路,只是抛砖引玉,请大家指正。 再次感谢七叶一枝梅兄的指点。

TA的精华主题

TA的得分主题

发表于 2003-9-3 00:23 | 显示全部楼层
换个思路呢? 在Word文档打开时禁止光标,这个是可以用VBA实现的,光标没有了,CTRL+C,CTRL+V又能有什么用处呢?

TA的精华主题

TA的得分主题

发表于 2003-9-3 08:59 | 显示全部楼层
如果你想要限制不允许操作文档,必须设置保护窗体,不过我试过 Private Sub Document_Open() ActiveDocument.Protect wdAllowOnlyFormFields, noreset Options.AnimateScreenMovements = True End Sub 你试试看
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-14 12:42 , Processed in 0.039634 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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