用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 Cannot Create Object解决方案 (引用)

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

用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
  • 919

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

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

PCB导出BOM提示ActiveX失败

PADS打开PCB文件导出带坐标BOM时,出现“ActiveX Automation: server could not be found.”问题的解决办法...

COM组件如何调试

在开发大型程序的时候,一般我们会将程序的功能模块化,常见的做法是采用COM组件,区别于一般的动态链接库,他的优点是毋庸置疑的,最大的特点在于它可以自己注册以及反注册,这样我们在创建相应的组件对象时就比...

AllocSysString()

CString 对象的 AllocSysString 方法将 CString 转化成 BSTR: CString s; s = "i love you"; BSTR b = s.AllocSy...
  • LaoWu_
  • LaoWu_
  • 2011年09月18日 20:09
  • 3139

Automation服务器不能创建对象 的多种解决办法

Automation服务器不能创建对象 的多种解决办法 方法一: 开始-运行:regsvr32 scrrun.dll 方法二: 请将以下语句复制到记事本中,另存为后缀为.cmd的文件,并...

关于JS错误:Automation 服务器不能创建对象

开发了证书模块后,在我和另一位电脑操作都没有问题的,可偏偏在其它测试机上就出现 js 错误:Automation 服务器不能创建对象。 下面是逐一排错: (一)检测根证书的问题,排除。 ...

JavaScript操作Word之“Automation 服务器不能创建对象”

JavaScript操作Word之“Automation 服务器不能创建对象” 用JS操作.doc文件时,相信很多朋友都会在new ActiveXObject("Word.Application")这...
  • qq58758
  • qq58758
  • 2011年03月07日 14:59
  • 949

MySQL创建外键时报Can't create table (errno: 150)错误解决办法

总的来说,这个问题的原因就是创建的外键和关联的表的主键类型不匹配。下面用个简单的例子来说明。 两张很简单的表,学生表和教师表: CREATE TABLE `t_teacher` ( `id` ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用javascript 创建ActiveX对象时出现:Automation server can't create object"(Automation 服务器不能创建对). 错误的解决办法。
举报原因:
原因补充:

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