实际开发过程中发现一些用户需要的功能其实用ActiveXObject可以轻松实现 
比如html导出为Excel,Word等 
我现在比较困惑的就是这个ActiveXObject究竟有多少种,从哪个途径了解这些ActiveXObject对象的功能,具体函数介绍呢?难道真的是碰到问题就google? 
举例: 
var obj = new ActiveXObject("Excel.Application"); 
var obj = new ActiveXObject("Word.Application"); 
var obj= new ActiveXObject("Microsoft.XMLDOM") ; 

解决方案 »

  1.   

    ActiveX组件可以分为三类: ● ActiveX控件 
    ● ActiveX文档 
    ● 代码成分(OLE自动服务器) (1)ActiveX控件 
    可以从无到有被用户完全建立,它能被建立在另一个控件之上,或者它可容纳多个已经有的控件。比如 VB中的ActiveX控件就是建立在VB的用户控件对象上的。当创建一个ActiveX控件时,就创建了一个带有扩展名为 .ctl 的控件类文件。我们通常使用这种文件来创建实际的控件,其扩展名为 .ocx 。 
    (2)ActiveX文档 
    通常,在具体的编程环境如VB 、VC++中,可以用传统文档的语义学来创建完全的应用程序。换句话说,它不仅有应用程序的功能,而且还有文档性能的灵活性 — 当用户打开一个 ActiveX文档时,将不仅拥有应用程序的全部功能,而且能保持和发布应用程序原有数据的“备份”,因而,“文档”实际上是主动的。比如, VB的ActiveX文档是建立在VB用户文档的基础上的。创建一个ActiveX文档时,用带有扩展名 .dob 的文件保存。VB使用这种DOB文件来创建EXE或DLL文件,这种EXE或DLL文件可以为ActiveX文挡提供实际的代码。另外VB生成一个带扩展名 .vbd 的说明文件,它对ActiveX文档进行描述,用主应用程序可以打开这个文件。对于ActiveX文档,可以让用户保存数据,这些数据被存在VBD文件里。 
    (3)代码成分 
    以前被称作OLE自动服务器。这些对象可以让用户在其他程序里使用其代码。比如,有一个陈列在代码成分里的时钟例程,这样以来此例程可以被其他程序使用。代码成分(ActiveX EXE, ActiveX DLL)能够支持属性与方法。 
      

  2.   

    有些ActiveXObject只能在IE下运行,通用性不是很好,就像你上面的word和excel
      

  3.   

    谢谢1楼,我的理解是这样的:
    1,ActiveXObject是可以由用户自定义的,这个我暂时不考虑,因为我也不想学如何创建自定义的ActiveXObject。
    2,剩下的部分,说实话,没怎么看懂我想知道的是,如果我创建了var obj = new ActiveXObject("Excel.Application"); 这一类IE通用的ActiveXObject,我如何知道这个通用ActiveXObject如何使用呢?比如,我想增加一个workbook,使用var oWB = oXL.Workbooks.Add(); 即可。
    那么我想修改一个cell的值,但是却不知道方法,应该怎么办呢?总不至于每个问题都google吧,有没有什么官方的使用文档呢?
    我的msdn上搜索没搜到,谢谢
      

  4.   

    word和excel是支持vba的,如果你用vba写过程序的话就知道了
    那些操作只不过是用js调用vba,你直接查一些vba的资料稍微
    该一些就可以了,没什么难得
      

  5.   

    谢谢5楼的朋友,就是说要了解new ActiveXObject("Excel.Application"); 和new ActiveXObject("Word.Application");需要学习vb啦,那这个学习成本有点高
    那么像 ActiveXObject("Microsoft.XMLDOM") ; 这类ActiveXObject应该如何了解它的特性和方法呢?
      

  6.   

    我理解楼主的意思是怎么知道ActiveX对象的可用方法,这个其实有相关的文档的,比如Word或者Excel等的方法,在其内置的VBA脚本编程中有专门的介绍。其他一些公布了的ActiveX对象一般也随其公布提供的编程接口的调用和功能介绍。简单来说你可以搜索一个较完整的文档下来自己研究。
    另外ActiveX对象是有标准接口来查询其提供的接口函数的,但这种查询结果可能意义不大,因为这仅仅返回一系列接口表(功能调用的入口),你还是不知道这些入口具体能实现的功能和调用方法(这些由文档来提供)
      

  7.   

    谢谢楼上,我正是这个意思,关键是我从哪里找到这些文档呢?
    google搜没搜到