ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 怎样取消EXCEL中ActiveX 控件的安全性警告?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-4-30 12:34 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
如图片所示,我在EXCEL中使用了条形码控件以后,每次打开文件时都会出现要初始化不安全的ActiveX 的警告。并有如下提示: 求解,谢谢!

有人说用如下代码可以解决,但是不知道怎么用才行:

Sub RegWrite()
    Dim WShell As Object
    Set WShell = CreateObject("Wscript.Shell")
     WShell.RegWrite "HKCU\Software\Microsoft\VBA\Security\LoadControlsInForms", 1, "REG_DWORD"
    Set WShell = Nothing
End Sub



这种状况与 ActiveX 控件如何在 Office 应用程序中初始化相关。ActiveX 控件程序可以将数据存储在注册表或者控件本身中。ActiveX 控件与 Visual Basic for Applications 宏相似,不同的是它们可以被编译为特殊文件格式并且链接到可以支持它们的数据文件(例如 Word 文档和 Excel 工作簿)。当您收到有 ActiveX 控件链接到它的文件,有可能是有未知的持续数据(与控件存储在一起的数据),或者恶意数据 - 恶意植入病毒或修改您的计算机。Office 应用程序在默认情况下可以阻止 ActiveX 控件使用持续数据。但是,如果您在安装过程中曾经特意更改了对 ActiveX 初始化的默认设置,或者使用某策略,系统将基于您的自定义设置执行 ActiveX 控件的初始化。
如果您选择允许应用程序运行控件并且使用持续数据,您需要承担由此带来的风险。强烈建议您不要运行不信任的人提交来的文档中的 ActiveX 控件。然而,如果您相信文档来源以及发送文档给您的个人或公司,那么您可以加载控件并允许它使用持续数据。但是,不能保证与控件相关的数据在实际使用中是安全的。
Office 应用程序在将 ActiveX 控件链接参考从一种文档或文件格式迁移到另一种格式时具有一定的局限性。例如,您可以链接一个 ActiveX 控件到 Word 文档并保存文件。但是,当您将 Word 文档转换为其它格式时,到 ActiveX 控件的连接参考也许不能转换为该种文件格式。因此,对带有 ActiveX 控件连接的文件的转换可能不支持所有文件类型,部分原因是由于并不是所有的文件类型都支持 ActiveX 控件链接或激活。对于带有到 ActiveX 控件链接的文件,需要在文件转换之前接受并激活 ActiveX 控件。如果 ActiveX 控件未被激活,连接参考将被丢掉,不会显示在转换的文件中。
条码控件的安全警告.JPG

ActiveX 控件安全警告.rar

46.54 KB, 下载次数: 199

TA的精华主题

TA的得分主题

发表于 2010-5-29 10:44 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
你的那个是正确的,你只要在thisworkbook中调用就行了
Private Sub Workbook_Open()
RegWrite
End Sub

TA的精华主题

TA的得分主题

发表于 2010-5-29 10:46 | 显示全部楼层
其实这个东西不必要每次都需要,你往注册表中写入就行了。
把下面的保存为reg文件导入到注册表就行了
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\VBA\Security]
"LoadControlsInForms"=dword:00000001

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-7-22 15:34 | 显示全部楼层
原帖由 szj3714 于 2010-5-29 10:44 发表
你的那个是正确的,你只要在thisworkbook中调用就行了
Private Sub Workbook_Open()
RegWrite
End Sub



非常感谢,已经用此方法解决

TA的精华主题

TA的得分主题

发表于 2010-9-17 13:55 | 显示全部楼层
学习了,谢谢楼主!

TA的精华主题

TA的得分主题

发表于 2012-6-7 11:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
szj3714 发表于 2010-5-29 10:46
其实这个东西不必要每次都需要,你往注册表中写入就行了。
把下面的保存为reg文件导入到注册表就行了
Win ...

非常好的方法!!!解决了困扰我很长时间的问题!!

我的系统是Windows7+office2003,几乎用了所有的方法,均不能起效,就连楼主的这个方法也无效,用了这个方法以后问题解决。

但是,还有一个问题:我用的是Winsock控件,如何在没有安装VB6的电脑中启用此控件?
按网上的方法,都不能起效:先把Winsck.ocx控件拷贝到system32文件夹,再注册之,然后在VBA中引用,最后添加此控件。
但是这个方法无效,谁有更好的方法,不用安装VB6的方法,谢谢!!

TA的精华主题

TA的得分主题

发表于 2013-6-1 12:55 | 显示全部楼层
szj3714 发表于 2010-5-29 10:46
其实这个东西不必要每次都需要,你往注册表中写入就行了。
把下面的保存为reg文件导入到注册表就行了
Win ...

多谢!
我一直在找这样的方法来解决我们控制系统使用的软件 VBA 问题。随着操作系统补丁越来越多,以前软件中的 ActiveX 控件因为没有数字签名,所以现在一直出现安全性警告,需要一个一个地确认!非常恼人!

TA的精华主题

TA的得分主题

发表于 2014-1-3 21:24 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2014-5-28 22:22 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2014-8-23 20:24 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢分享,辛苦了~~~
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-15 18:04 , Processed in 0.040310 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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