打开或关闭沙盒模式以禁用宏

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

本文介绍如何使用名为沙盒模式的 Access 安全功能。 在沙盒模式下,Access 会阻止“不安全”表达式:任何表达式使用函数或属性,恶意用户可能利用这些函数或属性来访问他们没有授权的驱动器、文件或其他资源。 例如, KillShell 等函数可用于损坏计算机上的数据和文件,因此在沙盒模式下会阻止它们。

注意

本主题不适用于 Access Web 应用或 Access Web 数据库,也不涵盖其他 Access 安全功能。

本文内容

概述

沙盒模式是一项安全功能,可防止 Access 运行某些可能不安全的表达式。 无论数据库是否“受信任”(其内容已启用)都会阻止这些不安全的表达式。

沙盒模式的设置方式

使用注册表项指定 Access 是否应在沙盒模式下运行。 默认情况下启用沙盒模式 - 在计算机上安装 Access 时,注册表项值设置为启用沙盒模式。 如果要允许所有表达式运行,可以将注册表项值更改为禁用沙盒模式。

受信任的数据库

无论是否在注册表中启用沙盒模式,除非数据库文件位于受信任位置或具有有效的信任签名,否则 Access 都不允许运行可能不安全的表达式。 如果数据库不“受信任”,则 Access 使用沙盒模式。

下图显示了 Access 遇到不安全表达式时遵循的决策过程。

沙盒模式的判定过程

如果不熟悉注册表,或者自己不习惯更改注册表项,请向熟悉并熟悉更改注册表的人员寻求帮助。 必须在计算机上具有管理员权限才能更改注册表值。

返回页首

禁用沙盒模式 (运行不安全的表达式)

在某些安装中,可以通过更改注册表项的值来禁用沙盒模式。

注意

并非所有 Access 安装都将包括以下过程中引用的 SandBoxMode 注册表项。 如果找不到注册表项,建议不要添加它,因为它可能会干扰 Office 更新。

谨慎 错误地编辑注册表可能会严重损坏操作系统,需要重新安装它。 Microsoft 无法保证可解决因注册表编辑不当而引起的问题。 编辑注册表之前,请备份任何有价值的数据。 有关如何使用和保护计算机注册表的最新信息,请参阅 Microsoft Windows 帮助。

更改注册表项

重要

按照下列步骤进行操作可以允许计算机上的所有用户在所有 Access 实例中运行不安全的表达式。

  1. 关闭要禁用沙盒模式的计算机上运行的所有 Access 实例。
  2. 按 Windows 键,键入 “运行”,然后按 Enter。
  3. “打开”框中,键入 regedit,然后按 Enter。
    即会启动注册表编辑器。
  4. 注册表项的特定位置将有所不同,具体取决于你运行的 Access 版本、 (32 位或 64 位) Windows 和 Access 版本的位数,以及是否有即点即用安装。 如果在从下面显示的可能选项中找到正确的注册表项时遇到问题,请尝试在注册表中搜索 Access Connectivity Engine
    展开 HKEY_LOCAL_MACHINE 文件夹,导航到以下注册表项:
    如果使用 Access 2016 或 Access 2019,请尝试查看以下位置:\Software\Microsoft\Office\16.0\Access Connectivity Engine\Engines 或此处:\Software\WOW6432Node\Microsoft\Office\16.0\Access Connectivity Engine\Engines
    如果使用的是 32 位 Microsoft 365 订阅版本的 Access 或 32 位即点即用安装 Access,请尝试查看以下位置: Software\Microsoft\Office\ClickToRun\Registry\Machine\Software\Microsoft\Office\16.0\Access Connectivity Engine\Engines
    ...或此处:
    Software\Microsoft\Office\ClickToRun\Registry\Machine\Software\Microsoft\Office\15.0\Access Connectivity Engine\Engines
    如果使用的是 64 位 Microsoft 365 订阅版本的 Access 或 64 位即点即用安装 Access,请尝试查看以下位置: Software\Microsoft\Office\ClickToRun\Registry\Machine\Software\Wow6432Node\Microsoft\Office\16.0\Access Connectivity Engine\Engines
    ...或此处:
    Software\Microsoft\Office\ClickToRun\Registry\Machine\Software\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\Engines
  5. 在注册表编辑器的右窗格中,在 “名称”下,双击“ SandBoxMode ”(如果存在)。 如果找不到 SandBoxMode 注册表项,建议不要添加它,因为它可能会干扰 Office 更新。
    此时将出现“编辑 DWORD 值”对话框。
  6. “数值数据”字段中,将值从“3”更改为“2”,然后单击“确定”
  7. 关闭注册表编辑器。

重要提示

请记住,如果不首先启用数据库中的内容,则无论是否更改此注册表设置,Access 都会禁用任何不安全的表达式。

可以将注册表值设置为以下值,其中 0 (零) 最宽松,3 表示最宽松。

设置 说明
0 沙盒模式随时处于禁用状态。
1 沙盒模式用于 Access,但不适用于非 Access 程序。
2 沙盒模式用于非 Access 程序,但不适用于 Access。
3 沙盒模式随时使用。 这是在安装 Access 时设置的默认值。

返回页首