启明办公

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 56|回复: 0

屏蔽 关闭或取消Access数据库打开的安全警告或启用内容 ...

[复制链接]

2

主题

4

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2022-12-11 04:46:39 | 显示全部楼层 |阅读模式
屏蔽 关闭或取消Access数据库打开的安全警告或启用内容(启用宏)提示的6种方法,大家可举一反三,可能也适用于Excel VBA 、Word VBA 、PPT VBA等宏安全设置
宏安全性主要是防止你打开未知文档时里面有恶意代码或病毒,如果你设置了安全性为“低”安全提示作用就没有了,即使你打开含有病毒的 MDB或Accdb 相应的Access数据库文件,ACCESS 系统也不会提示。所以,你自己要保证文件的安全。

第一种方法:最直接最通用的方法,使用安全性 或信任中心 设置  Access设置宏的安全等级

  • 2003版:打开Access应用程序-菜单-工具-宏-安全性-安全级-低(如图)





2. Access 2010 2013 2016 2019 365版本:
   打开Access应用程序-菜单-文件-选项-信任中心-信任中心设置-宏设置-低(如图),






如果出现下列提示,请先安装 JET 4.0 SP8


2003 为了消除“Security Warning”(安全警告),可以在Access中直接设置:
Tools -> Marco -> Security,选择Low
工具 -> 宏 -> 安全性 ,设置为“低”,其它版本参考前面的图片设置步骤

Office 2016 提供了一个设置,可用于更改安全警告设置和 VBA 宏的行为。 如果要更改有关不受信任的 VBA 宏的通知方式或更改 VBA 宏的默认行为,请使用以下指南来确定如何配置此设置。
说明: 此设置控制应用程序如何警告用户有关Visual Basic for Applications (VBA) 宏。 可以基于每个应用程序为 Access 2016、Excel 2016、PowerPoint 2016、Publisher 2016、Visio 2016 和 Word 2016 配置此设置。 可以选择此设置的四个可能选项之一:

禁用所有通知 应用程序会显示所有宏(无论是已签名还是未签名)的信任栏。 这是默认设置。

禁用所有宏,但数字签名宏除外 应用程序显示用于数字签名宏的信任栏。 这允许用户启用它们或将其保持禁用状态。 任何未签名的宏将被禁用,并且用户不会收到通知或无法启用未签名的宏。

禁用全部而不通知 应用程序禁用所有宏(无论是已签名还是未签名的宏)并且不会通知用户。

启用所有宏 (不推荐;潜在的危险代码可能会运行) 所有宏都已启用,无论是已签名还是未签名。 此选项可以通过让危险代码未经检测运行来显著降低安全性。

影响: 如果启用此设置并选择"禁用除数字签名宏以外的所有宏"选项,则包含未签名宏的文档和模板将丢失这些宏提供的所有功能。 为了防止这种功能损失,用户可以将包含宏的文件放在受信任的位置。

重要
如果选择 "禁用所有项"(数字签名的宏除外),则用户无法打开未签名Access 2016数据库。
如果选择"全部禁用 而不通知", 则包含未签名宏和已签名宏的文档和模板将丢失这些宏提供的所有功能。 即使宏已签名并且发布者在"受信任的用户"列表中列出,Publisher也是如此。
指南: 具有严格限制的安全环境的组织通常启用此设置,并选择"禁用除数字签名宏以外的所有项 " 选项。 不允许用户运行宏的组织通常启用此设置,并选择"禁用全部而不 通知"。

第二种方法:修改Windows注册表来达到设置Access设置宏的安全等级(主要是SandBoxMode 沙盒模式及Security 安全等级Level

如果您希望能够对于Runtime能够消除其“Security Warning”的话,可以这样修改注册表:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines]
"SandBoxMode"=dword:00000002

[HKEY_LOCAL_MACHINE\Software\Microsoft\Office\11.0\Access\Security]
"Level"=dword:00000001

也可以直接建立一个reg注册表文件,内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines]
"SandBoxMode"=dword:00000002

[HKEY_LOCAL_MACHINE\Software\Microsoft\Office\11.0\Access\Security]
"Level"=dword:00000001
以上主要是针对Access 2003, 如果针对 Access 2010 2013 2016 2019  2021 365, 可看这篇更完整的文章 :

将上述文本保存为一个后缀名为 .reg 的文件,然后用 regedit 命令把注册表 .reg 文件导入注册表即可。把 .reg 文件导入注册表的一般方法是用鼠标双击 .reg  的文件名“执行”它。其实 rededit 程序有一个隐藏的参数 /s,带上它就可以在命令行中导入 .reg 文件:
regedit /s 你的文件.reg
第三种方法:使用数字证书
如果不想降低宏安全性又要你自己的ACCESS程序启动时不出现提示,可以使用数字证书功能。在OFFICE安装目录中有 SELFCERT.EXE 这个文件,双击运行就能创建数字证书。如果你想要让你的程序在局域网内都不需要出现提示,可以在局域网内安装一台证书服务器,用它来颁发证书,但是如果程序不在这个局域网内运行,请到商业证书权威机构去申请数字证书(可购买付费证书,有很多证书公司及产品),受信任的发布者,可以这里看到


第四种方法:使用受信任位置
将你希望信任不提示安全警告的文件 存放在指定的目录,然后反这个目录添加到受信任的位置即可


当然受信任位置也可以通过修改注册表,或自己写个exe程序来自动添加,具体可以看这里:
第五种方法:使用受信任文档
你信任后就可以这里看到


也可清除所有受信任的文档
第六种方法:自己制作一个启动Exe 来启动Access数据库,在启动之前,先设置注册表中的宏安全性
   exet程序的关键代码:
    Dim objApp  
    On Error Resume Next
    Set objApp = CreateObject("Access.Application")
    If objApp.Version = "11.0" Then
        objApp.AutomationSecurity = 1
    End If
    objApp.Visible = True
    Set objApp = Nothing

大致就这6种方法了。以后想到再增加


相关知识:规划 VBA 和 VBA 宏安全设置(Office 其它 VBA宏安全设置)
Office 2016 提供了多个设置,用于控制 VBA 和 VBA 宏的行为。 通过配置这些设置,可以执行以下操作:
更改 VBA 宏的安全警告设置。 这包括禁用 VBA 宏、启用所有 VBA 宏,以及更改有关 VBA 宏的通知用户的方式。
阻止 VBA 宏在 Word、Excel、PowerPoint、Access Visio Internet 中运行。
禁用 VBA。
更改通过自动化以编程方式启动的应用程序中 VBA 宏的行为方式。
更改防病毒软件扫描加密 VBA 宏方式。
默认情况下,VBA 已启用,并且允许受信任的 VBA 宏运行。 这包括保存在受信任位置中的文档中的 VBA 宏、受信任文档中的 VBA 宏以及满足以下条件的 VBA 宏:
宏由使用数字签名的开发人员签名。
数字签名有效。
此数字签名当前 (过期) 。
与数字签名关联的证书由 CA 证书颁发机构 (颁发) 。
对宏进行签名的开发人员是受信任的发布者。

如果觉得不错,请收藏 点赞及关注 我 @小辣椒高效Office
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|启明办公

Copyright © 2001-2013 Comsenz Inc.Template by Comsenz Inc.All Rights Reserved.

Powered by Discuz!X3.4

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