ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] word信任对VB项目的访问的注册表键位置

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-6-27 23:07 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖已被收录到知识树中,索引项:保护和加密编程
我们知道excel中对VB项目的访问信任,有相对应的注册表键值,查了很多资料,就是没有查到word 中信任对VB项目的访问的注册表键值,一般滴可以用sendkeys摸拟键盘操作实现对VB项目的勾选,但这样做也有缺点,即代码的运行成功取决于word所处环境,有时过慢就会带来相关摸拟键来不及操作而导致勾选不成功的情况发生,但是如果我们知道对应的注册表键值,我们就可以通过修改注册表键值的比较可靠的代码实现对VB项目访问信任的勾选.在此请高手指点word中是否也有相应的注册表键值对应,如果有在什么位置.如果没有,是否存在修改其他属性而不必使用摸拟键盘操作的方法,谢谢!
以下代码可以修改VB项目信任,但问题是用了代码后因变灰,再无法用人工去修改了,问题在哪???头大!!!
On Error Resume Next
System.PrivateProfileString _
("", "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & _
"\Word\Security", "AccessVBOM") = 1 '注 1为打勾并变灰,0为去勾并变灰
End Sub

[ 本帖最后由 wwwbjwww 于 2010-6-27 23:30 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-6-28 10:02 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
'注 1为打勾并变灰,0为去勾并变灰
请教“打勾不变灰”和“去勾不变灰”的数值是多少?

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-6-28 12:19 | 显示全部楼层

希望守柔版主能解开这个谜团

如题,采用修改注册表键值会导致打勾/去勾并泛白,而人工再无法去选择勾选,问题出在哪呢,希望守柔版主给予答疑解惑,谢谢!

TA的精华主题

TA的得分主题

发表于 2010-6-28 16:55 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
要取消此灰色,可以试试如下手工方法(2003版):打开注册表编辑器,展开至“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Word\Security"项,然后删除其中的“AccessVBOM”值项。
如果要用程序代码操作,不知是否只能靠API函数,不懂。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-6-28 17:53 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

有道理,勾选项出现泛白的原因

我在想,出现泛白,很可能是System.PrivateProfileString ()函数修改了.INI等文件(注册表文件),但对应的注册表键值应该为16进位制形式,但函数传递的却是十进位制,由此导致ini文件的数据异常。有没有人试过用API函数对该键值进行修改,API函数能确保键值的数据形式对应。高手们,是这样吗,渴望等待答案!

TA的精华主题

TA的得分主题

发表于 2010-10-12 10:28 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-2-11 13:07 | 显示全部楼层

佩服5楼的解释,虽然我还是不明就里

我找了个英文的答案,和sylun差不多:

CAUTION: Manipulating the registry is dangerous and can render your computer unusable if not done properly - take this advice at your own risk!!!

That said, there are 2 registry keys that control the availability of this setting.

You probably have the following key in the registry:
[HKEY_LOCAL_MACHINE/Software/Microsoft/Office/10.0/Excel/Security]
that contains a key like "AccessVBOM"=dword:00000000

The existence of this key will 'gray out' the option, as it is at the machine level instead of the current user, and even if you have the key [HKEY_CURRENT_USER/Software/Microsoft/Office/10.0/Excel/Security] with AccessVBOM = 1, it won't be enabled.

If you delete the first key (the "AccessVBOM" value) then it should allow you to set it manually. Or, you can change the value to 1 to have it permanently set.

Also, the value 'Level' in the same key controls the macro security level (low, med, high). A setting of 0 = high, 1=low, 2=med (logical, right?), so you can use the machine level key to set Excel for all users on the machine, or the Current_User level value to control it when you use the machine.

I'm attaching two files that can be executed to set this key value - USE AT YOUR OWN RISK!!. One will set this value at the machine level, and the other at the user level. If the machine level is set to 0, it doesn't matter what the user level is - it won't be enabled.
在线翻译不是很准确:
注意:操作注册表是危险的,可能会导致计算机无法使用,如果没有做好 - 借此在你自己的风险咨询!

尽管如此,有2个注册表项控制此设置可用性。

你可能已经在以下注册表项:
[HKEY_LOCAL_MACHINE/Software/Microsoft/Office/10.0/Excel/Security]
它包含一个类似“AccessVBOM”= DWORD项:00000000

这个关键在于'灰色出'的选项,因为它是存在的,而不是在当前用户计算机的水平,即使你有AccessVBOM的关键[HKEY_CURRENT_USER/Software/Microsoft/Office/10.0/Excel/Security] = 1,它不会被启用。

如果删除了第一个关键(以下简称“AccessVBOM”值),那么它应该允许你手动设置。或者,您可以将值更改为1把它永久设置。

此外,值'度'相同的键控制宏的安全级别(低,中,高)。一0 =高,1 =低,2设置=硕士(逻辑的,对不对?),所以你可以使用机器国家级重点设置在机器上,或Current_User级别值的所有用户Excel来控制它,当您使用机器。

我附上两个可设定执行这个关键值的文件 - 使用您自行承担风险!。一个将设在此值机的水平,和其他在用户级别。如果机器级别设置为0,它并不重要用户级别是什么 - 它不会被启用。

TA的精华主题

TA的得分主题

发表于 2011-2-12 15:24 | 显示全部楼层
今天试验结果是:
1、删除AccessVBOM”值项灰色依然。
2、卸载office用完美卸载清理注册表后,重装,灰色依然。

TA的精华主题

TA的得分主题

发表于 2012-8-9 10:16 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2013-9-13 00:26 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-22 11:52 , Processed in 0.040604 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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