跪求!!EXCEL高手请进~~~~VBA中的Winsock控件的使用问题

为什么用Winsock控件的时候用不了,还会提示“对于指定的操作,该主题不受信任。”

受影响的控件有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进行控件注册即可。
温馨提示:答案为网友推荐,仅供参考
相似回答