用javascript 创建ActiveX对象时出现:Automation server can't create object"(Automation 服务器不能创建对). 错误的解决办法。

原创 2007年10月05日 21:30:00

    今天,想实现在客户端读取一个EXCEL文件到一个Table中 ,所以写了如下代码:

 

function readExcel()
...{
   
var fileName = document.getElementById("File1").value;
   
var objExcel = new ActiveXObject("Excel.Application");
   
if (!fileName)
   
...{
      
return;
   }
     
   
var objWorkBook = objExcel.WorkBooks.open(fileName);
   
var objSheet = objWorkBook.ActiveSheet;
   
   
var i=1;
   
var name,code;
   
while(true)
   
...{
       name
=objSheet.cells(i,2).value;
       
if (!name)
       
...{
           
break;
       }

       
       code 
= objSheet.cells(i,1).value;
       
       
var objTable = document.getElementById("employee");
       
var objRow = objTable.insertRow(1);
       
var btnTd = objRow.insertCell();
       btnTd.innerHTML 
= "<input type="Button" value="删除" onclick="deleteEmp(this)" />";
       
       
var codeTd = objRow.insertCell();
       codeTd.innerHTML 
= "<input type="Text" value=""+code+"" />";
       
       
var nameTd = objRow.insertCell();
       nameTd.innerHTML 
= "<input type="Text" value=""+name+"" />";
       i
++
   }

   
}


function deleteEmp(btnDelete)
...{
   
var index = btnDelete.parentElement.parentElement.rowIndex;
   
var objTable = document.getElementById("employee");
   objTable.deleteRow(index);
}


 

以上其中:empleoyee为一个table的id,"File1"为<input type=file ..../>的ID,实现把EXCEL中的内容读到table中,table有三列,第一列为一个“删除”Button,第二,第三列分别放一个Text控件。

    但在运行的时候,提示:Automation server can't create object。

    但是我要一个HTML文件中,执行同样的脚本会提示:

 

选择“Yes”就不会提示错误,为什么会这样呢?

于是就上Google搜,唉,同病相连的兄弟还不少啊,但没一个能清楚解决的。

后来认真想想:应该是被IE安全机制拦截了。于就就在IE设置里找,但又苦于本人对英文一翘不通,但为了学习,当时还就装了个英文版的IE7,没办法,只有一个一个的看。最后苍天不负有心人啊,终于试出来了。原来是这个:

英文原文为:Initialize and script ActiveX controls not marked as safe for scripting,中文大意是(因为本人英文水平特差,不对肯请指正):对没有标记为安全的ActiveX控件进行初始化和脚本运行。

将它设成:Enable 就解决问题了。

具体设置步骤为:Tools(工具)->Internet Option...(IE 选项)->Security(安全)->Custom Level(用户自定义级别)。

Automation server can't create object错误及其解决方法

该篇文章是我于2009年6月10日通过自己编写的工具,批量从位于在博客园的博客站点(http://chenxizhang.cnblogs.com)同步而来。文章中的图片地址仍然是链接到博客园的。特此说...
  • chen_xizhang
  • chen_xizhang
  • 2009年06月12日 00:48
  • 1549

用javascript 创建ActiveX对象时出现:Automation server can't create object"(Automation 服务器不能创建对). 错误的解决办法

from: http://blog.csdn.net/moshuchao/article/details/1812390 Initialize and script ActiveX cont...
  • nomad2
  • nomad2
  • 2011年12月15日 18:55
  • 965

Automation Server Cannot Create Object解决方案 (引用)

Automation Server Cannot Create Object解决方案     [ 来自:中国软件开发实验室 ][昨天晚上,偶的脑袋突然闪了一下,好久没有解决的问题突然间来了思路,于是...
  • lovelyxc
  • lovelyxc
  • 2005年06月16日 14:51
  • 1910

PCB导出BOM提示ActiveX失败

PADS打开PCB文件导出带坐标BOM时,出现“ActiveX Automation: server could not be found.”问题的解决办法...
  • zzfenglin
  • zzfenglin
  • 2017年03月08日 11:54
  • 843

PCB导出BOM提示ActiveX失败

PADS打开PCB文件导出带坐标BOM时,出现“ActiveX Automation: server could not be found.”问题的解决办法...
  • zzfenglin
  • zzfenglin
  • 2017年03月08日 11:54
  • 843

误: Automation 服务器不能创建对象 解决方案

错误: Automation 服务器不能创建对象 解决方案 http://hi.baidu.com/1024012956/item/67f001427a8d1ba160d7b95a ...
  • cao478208248
  • cao478208248
  • 2014年07月22日 17:55
  • 1986

Qt调用Delphi编写的COM组件

这个问题捣鼓了两天,现在终于解决了,做个笔记分享给大家,以免走弯路 起初,我的想法是在DLL中写一个interface并从函数中导出这个interface,像这样的代码 ICom1 = interfa...
  • aqtata
  • aqtata
  • 2013年06月24日 17:09
  • 2957

[收藏]"Automation服务器不能创建对象" 的多种解决办法

方法一: 开始-运行:regsvr32 scrrun.dll 方法二: 请将以下语句复制到记事本中,另存为后缀为.cmd的文件,并运行。当然在命令行下一句句运行也没问题。echo 正在修复,这个...
  • zhangyuehuan
  • zhangyuehuan
  • 2013年09月23日 14:47
  • 1412

MySQL5.70安装过程及发现问题解决方案

一、如何安装? 1、【运行】->【cmd】打开小黑窗口。定位到MySQL安装目录【我的D:\Program Files\mysql-5.7.9-winx64】的bin目录下,输入【mysqld -...
  • ChanningZhao
  • ChanningZhao
  • 2015年12月18日 16:23
  • 5674

QTP学习笔记1

QTP中获取当前路径 实属转帖,方便以后查找~ QTP9.2版本,以下内容适合QTP和vbs。 路径一:QTP的测试当前路径 environment("TestDir") 使用environment(...
  • cometwo
  • cometwo
  • 2015年02月11日 21:15
  • 1322
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用javascript 创建ActiveX对象时出现:Automation server can't create object"(Automation 服务器不能创建对). 错误的解决办法。
举报原因:
原因补充:

(最多只允许输入30个字)