在打开 Office XP 或 Office 2003 文档时,会提示您为 ActiveX 控件授予权限

来源:互联网 发布:手机代理ip软件 编辑:程序博客网 时间:2024/06/03 15:19
重要说明:本文包含有关如何修改注册表的信息。修改注册表之前,一定要先对其进行备份,并且一定要知道在出现问题时如何还原注册表。有关如何备份、还原和修改注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 (http://support.microsoft.com/kb/256986/) Microsoft Windows 注册表说明

症状

在“适用于”一节中列出的某个 Microsoft Office 程序中打开文档时,可能会提示您为要加载的 ActiveX 控件 授予权限或允许这些控件维护永久性数据。一些 ActiveX 控件根本无法加载。

另外,在将包含 ActiveX 控件的 Office 文档导入到另一个程序(如 Microsoft SharePoint Team Services 网站)时,您会接收到类似于以下内容的 警告消息:
This application is about to initialize ActiveX Controls that might be unsafe.If you trust the source of this document, select Yes and the control will be initialized using your document settings.
如果单击 “否”,则不加载 ActiveX 控件。如果单击 “是”,则加载 ActiveX 控件。

回到顶端

原因

当尝试打开 包含 ActiveX 控件的文档,且该控件被标识为对于初始化不安全 (UFI) 时,会发生此问题。 默认情况下,Office 程序不加载或激活 未被标志为对于初始化安全 (SFI) 的 ActiveX 控件。该问题还适用于 包含在 Office 程序中的 ActiveX 控件。另外,Winsock 没有注册为 SFI 控件。因此,对于尚未实施 IObjectSafety 的 ActiveX 控件,将会作为 UFI 控件进行处理。此外,对于尚未在注册表中标记适当组件分类的 ActiveX 控件,也将会作为 UFI 控件进行处理。

回到顶端

替代方法

注意:极力建议您不要运行 陌生人提交给您的文档中的 ActiveX 控件,因为 无法保证与该控件相关的数据 实际上是否可以安全使用。但是,如果您信任文档的来源以及发送该文档的个人或公司, 则可以加载该控件 并允许它使用永久性数据。

警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能会出现严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证可以解决这些问题。修改注册表需要您自担风险。
要 解决此问题并更改 Office 程序处理 ActiveX 组件的方式,请将更改 Office 程序行为的 UFIControls 项添加到 注册表中。要获得如何执行此操作的更多信息,请参阅“将注册表设置更改为 UFIControls = 1”一节。

回到顶端

关于 ActiveX 组件的 UFI 控件设置的信息

当控件是 SFI 时,Office 程序具有相同的行为:
如果“UFIControls”等于“1”(最不安全)、“3”或“5”:在文档永久性属性值存在的情况下,将在不安全模式下加载(无提示)ActiveX 控件,否则使用默认属性 (InitNew) 加载。
如果“UFIControls”等于“2”、“4”(最安全)或“6”(默认设置):在文档永久性属性值存在的情况下,将在安全模式下加载(无提示)ActiveX 控件,否则使用默认属性 (InitNew) 加载。
“UFIControls = 4”是最安全的设置,因为它会 强制 Office 程序使用默认属性加载 UFI 控件,以避免用户 混淆 UFI 的新行为和“UFIControls = 6”的默认行为,因为 UFI 控件使用文档永久性属性进行加载。

注意:在注册表项 HKEY_CURRENT_USER/SOFTWARE/Microsoft/Office/Common/Security 下列出的每一个子项在以下注册表项下都具有对应的子项:
HKEY_CURRENT_USER/SOFTWARE/Policies/Microsoft/Office/Common/Security
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Office/Common/Security
在 Office XP 中,加载 UFI 控件前,将 显示一个对话框,但是在 Office 程序中,它们将在没有任何提示的情况下被初始化。要 使用 Office XP 按原样查看文件,用户必须使用以下方法之一:
在警告消息中单击“是”继续。
将注册表设置更改为“UFIControls = 1”。
联系 ActiveX 控件的作者以创建 ActiveX 控件 SFI。
管理员可使用自定义 安装向导 (CIW) 设置默认值。有关 CIW 的更多信息,请参阅 Office Resource Kit。为此,请访问以下 Microsoft 网站之一:

Office 2003
http://office.microsoft.com/zh-cn/assistance/HA011401701033.aspx (http://office.microsoft.com/zh-cn/assistance/HA011401701033.aspx)
Office XP
http://office.microsoft.com/zh-cn/assistance/HA011362781033.aspx (http://office.microsoft.com/zh-cn/assistance/HA011362781033.aspx)

回到顶端

将注册表设置更改为 UFIControls = 1

要修改注册表并添加 UFIControl 子项,请按照下列 步骤操作:
1.单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
2.展开以下注册表子项:
HKEY_CURRENT_USER/SOFTWARE/Microsoft/Office/Common
3.右键单击“Common”,指向“新建”,然后单击“项”。
4.键入 Security,然后按 Enter 以命名新的子项。
5.右键单击“Security”,指向“新建”,然后单击“DWORD 值”。
6.键入 UFIControls,按 Enter 以命名该值。
7.双击“UFIControls”。
8.在“数值数据”框中,键入 1,然后单击“确定”。

注意:UFIControls 的可用设置从“1”到“6”。最安全的设置是“4”。默认设置是“6”,最不安全的设置是“1”。有关此 DWORD 值的有效设置的更多信息,请参阅“关于 Active X 组件的 UFI 控件设置的信息”一节。
9.退出注册表编辑器。

回到顶端

Forms3 和 ActiveX 初始化(Office 2003 和 Office XP)

使用 common security 注册表项,可以 指示 Office 2003 和 Office XP 程序,为支持 Forms3 的所有 Office 2003 和 Office XP 程序设置 Forms3 ActiveX 初始化安全性。如果该项的设置是“2”或“3”,将提示用户 确定如何加载 Forms3 表单。该提示仅在程序的 每次会话中出现一次。注册表项的位置 如下:
HKEY_CURRENT_USER/Software/Microsoft/VBA/Security
在注册表或策略节点中,数值 名称 LoadControlsInForms 可设置为以下值和各自的 操作。
数值名称:LoadControlsInForms
数值类型:REG_DWORD
数值 数据:[ 1 | 2 | 3 | 4 ]

数值数据的描述

数值数据的解释如下:
对于既支持安全模式又支持不安全模式的 UFI 或 SFI 签名控件,使用“1”可在不安全模式下加载控件。对于仅支持安全模式配置的 SFI 签名控件,在安全模式下加载控件。
对 UFI 签名控件使用“2”(默认设置),如果用户在提示中回答“是”,将在不安全模式下加载控件。如果用户回答“否”,则使用默认属性加载。对于既支持安全模式又支持不安全模式的 SFI 控件,如果用户在提示中回答“是”,则在不安全模式下加载控件。如果用户回答“否”,则使用安全模式加载控件。如果 SFI 控件只支持安全模式,则在安全模式下加载控件。
对 UFI 签名控件使用“3”,如果用户在提示中回答“是”,则在不安全模式下加载控件。如果用户回答“否”,则使用默认属性加载控件。对于 SFI 控件,在安全模式下加载。
对 UFI 签名控件使用“4”将使用控件的默认属性加载。对于 SFI 控件,在安全模式下加载(被认为是最安全的模式)。

回到顶端

更多信息

有关 ActiveX 控件问题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
817112 (http://support.microsoft.com/kb/817112/) 在使用 Office 2003 程序打开文档时,ActiveX 控件不加载或无法按预期方式正常运行

ActiveX 控件是一些程序, 可以将数据存储在注册表或者控件本身中。ActiveX 控件与 Microsoft Visual Basic for Applications (VBA) 宏相似,不同的是 它们编译为特殊文件类型并且可以由 能够支持它们的程序(如 Microsoft Word 2002 和 Microsoft Excel 2002)承载。

要 使用 ActiveX 控件,请在 Office 文档中嵌入一个控件链接引用。当文档打开后,如果 ActiveX 控件被激活,Office 程序仅可以保留 ActiveX 控件链接引用或将其迁移到 新版本的文档中。如果 ActiveX 控件 被禁用,则文档的后续保存将保存一个不带链接 引用(ActiveX 控件被删除)的文档版本。有时候您不希望这样, 因为您必须使用控件查看文档的部分或全部内容。

并非所有的文件格式都支持 ActiveX 控件链接。因此,即使 打开了文档并激活了 ActiveX 控件,仍然无法将其 保存为不支持 ActiveX 控件的格式。