在Word中,如何做到禁止用户通过键盘和鼠标修改一个文档

laola 2004-08-12 04:13:16
如上所述:现在有一个文档,我想做到禁止键盘事件来达到禁止修改该文档的功能。为什么不通过保护做呢?因为我有后台程序需要修改这个文档。如果添加保护后连我的后台VBA都不能修改这个文档了。

我的想法是:通过一个钩子捕捉当这个文档被激活后的所有键盘事件,但是想的头痛都没有办法实现。哪位大侠知道,如何实现?如果有更好的方法,我乐意接受。解决问题后立即揭帖,决不食言。
...全文
118 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
laola 2004-08-12
  • 打赏
  • 举报
回复
先谢谢,我看看先
techgopher 2004-08-12
  • 打赏
  • 举报
回复
这个不好做。我最近试了一下用SetWindowsLong API来重定向WndProc, 结果是Word完全失去响应。用Hook也不一定行,但值得一试,这个在网上很容易找到参考。

话说回来,你为什么不在你的后台VBA里先解除文档保护,在作了需要的修改后再把文档保护起来?例如:
activedocument.Unprotect "password"
'....
activedocument.Protect wdAllowOnlyFormFields, Password:="password"
当然为了不让用户看到代码里的密码,你可以把VBA项目加上密码保护。

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧