分享

Excel 对于指定的操作,该使用者不受信任

 qingwayuxia 2017-05-04
遇到了同样的问题,网上搜到一篇文章,分享下。原文地址:http://windyli.blog.51cto.com/1300305/282409

用VB或是VBA开发的朋友,特别是会用到COM控件的,这种故障应该是碰到过的,那就是弹出对话框提示“对于指定的操作,该主题不受信任”(见下图)。

    据我个人所知的,受影响的控件有MSCOMCT2、Mscomm32、MSDataGrid、MSFlexGrid、MSWinsock。也就是说如果你在使用VB、VBA开发的时候,在添加某一控件的时候,出现上述画面中的提示,那么下面的内容可以帮你解决这一问题。

    一、原因
    为什么会出现上述提示,因为在VB(包含VBA)中的AcitveX控件的漏洞可能允许远程执行代码,请情参看MS08-070。
    微软为了封堵这一漏洞便发布补丁KB960715,而这一补丁的作用是将上面提到的这些控件给禁用了,这就是添加此类控件时出现错误提示的原因。

    二、临时解决方案
    如果在一个脱机(没有网络)的开发环境中,临时的解决方案便是将KB960715补丁卸载(如果删除了补丁卸载信息,可重新安装一次该补丁或从别的机器中复制卸载需要的文件,然后再卸载),然后再添加这些控件。
    但此解决方案存在弊端,下次自动更新重新装上KB960715补丁时,故障又会重现。

    三、完美解决方案
    在KB960715之后,微软发布了新的补丁(VB6 SP6的累积更新KB957924)解决了这一问题。
    首先我们看一下微软是如何封堵这一漏洞的吧(Q240797)。

    针对VB环境
    1.下载并安装VB SP6。
    2.下载并安装VB6 SP6的累积更新KB957924(VB6 SP6的累积更新的汇总说明)。
    3.将控件重新拖拽一次,然后重新编译发布。

    针对VBA环境
    1.下载并安装VB SP6。
    2.下载并安装VB6 SP6的累积更新KB957924(VB6 SP6的累积更新的汇总说明)。
    3.电脑中搜索扩展名为“.exd”的文件(控件的缓存文件,需要在高级选项中选择“搜索隐藏的文件和文件夹”),然后将其删除。
    4.将控件重新拖拽。

    特别说明:如果机器中没有安装VB,则VB SP6是无法安装的,当然其累积更新也就无法安装。具体的解决办法是可以先在一台装有VB的电脑上安装这些补丁,然后将相应的控件文件复制到开发环境的那台机器的(systemroot\windows\system32)路径下覆盖旧版文件,并使用Regsvr32进行控件注册即可。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多