获取activexobject对象失败_js获取对象

获取activexobject对象失败_js获取对象js

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用



分类: javascript
 
14643人阅读 
评论(1) 
收藏 
举报

目录(?)[+]

JS入门之ActiveXObject对象

此对象提供自动化对象的接口。

 
function ActiveXObject(ProgID : String [, location : String])

Collapse 图像参数

ProgID

必选。形式为“serverName.typeName”的字符串,其中 serverName 是提供对象的应用程序的名称,typeName 是要创建的对象的类型或类。

location

可选项。要在其中创建对象的网络访问器的名称。

Collapse 图像备注

通常,自动化服务器会提供至少一种对象。例如,字处理应用程序可能会提供应用程序对象、文档对象和工具栏对象。

以下代码通过调用 ActiveXObject 对象构造函数来启动应用程序(在这种情况下为 Microsoft Excel 工作表)。ActiveXObject 允许您在代码中引用应用程序。使用下面的示例,您可以使用对象变量 ExcelSheet 和其他 Excel 对象(包括应用程序对象和 ActiveSheet.Cells 集合)来访问新对象的属性和方法。

  CopyCode image复制代码
// Declare the variables
var Excel, Book;

// Create the Excel application object.
Excel = new ActiveXObject("Excel.Application");

// Make Excel visible.
Excel.Visible = true;

// Create a new work book.
Book = Excel.Workbooks.Add()

// Place some text in the first cell of the sheet.
Book.ActiveSheet.Cells(1,1).Value = "This is column A, row 1";

// Save the sheet.
Book.SaveAs("C://TEST.XLS");

// Close Excel with the Quit method on the Application object.
Excel.Application.Quit();

若要在远程服务器上创建对象,只能在关闭 Internet 安全机制时完成。您可以通过将计算机的名称传递到ActiveXObject 的 servername 参数在远程网络计算机上创建对象。该名称与共享名的计算机名部分相同。对于名为“//MyServer/public”的网络共享,servername 为“MyServer”。此外,您可以使用 DNS 格式或 IP 地址来指定servername

以下代码返回在名为“MyServer”的远程网络计算机上运行的 Excel 实例的版本号:

  CopyCode image复制代码
function GetAppVersion() {
   var Excel = new ActiveXObject("Excel.Application", "MyServer");
   return(Excel.Version);
}

如果指定的远程服务器不存在或者找不到,则会出错。

Collapse 图像属性和方法

ActiveXObject 对象不具有任何内部属性或方法;它允许您访问自动化对象的属性和方法。

2008-02-27 18:31
最近老是出现JS在我面前,有很多是特效或其他AJAX方面的,也在研究Prototype.js的脚本库,但对于我这种JS菜鸟来说有很多东东还不是很懂。所以今天去看了一看教程,对于我们.NET的程序员来说,对OO编程已经没有什么新鲜的了,但对于JS中的OO编程我还不是很熟悉,所以今天就来学习学习JS中的ActiveXObject对象,在接下来的几篇随笔中我会慢慢的把其他对象给总结出来。

有事没事new一个,要声明ActiveXObject对象当然也不例外,它能返回一个Automation对象的引用,代码如下:

   var obj=new ActiveXObject(servername,typename[,location]);

下面我们来看看参数说明:

   obj谁都知道是变量,即要赋值为ActiveXObject的变量名;

servername提供该对象的应用程序名称;

   typename要创建的对象地类型或类;

   location创建该对象得网络服务器名称。

   Automation服务器至少提供一类对象,例如字处理应用程序可能提供应用程序对象、文档对象和工具栏对象。例如要创建Excel的Application和Sheet对象,代码如下:

var ExcelApp = new ActiveXObject(“Excel.Application”);

var ExcelSheet = new ActiveXObject(“Excel.Sheet”)

一旦对象被创建,就可以用定义的对象变量在代码中的引用它。下面我们将通过一个例子来看看对对象和方法的引用,通过对象变量 ExcelSheet 访问新对象的属性和方法和其他 Excel 对象,包括 Application 对象和 ActiveSheet.Cells 集合。代码如下:

1 ExcelSheet.Application.Visible = true;

2 ExcelSheet.ActiveSheet.Cells(1,1).Value = “This is column A, row 1”;

3 ExcelSheet.SaveAs(“C://TEST.XLS”);

4 ExcelSheet.Application.Quit();

下面我们来看看怎样创建远程服务器中创建对象,但是这有一个前提就是要将Internet安全性关闭。要在远程网络计算机创建对象,可以将该计算机的名称传递给 
ActiveXObject 的 
servername 参数。该名称与共享名的机器名部分相同。比如共享名为 “//myserver/public” 的网络,
servername 是 “myserver”。另外,可以用 DNS 格式或 IP 地址指定 
servername。下面的代码返回在名为 “myserver” 的远程网络计算机上运行的 Excel 实例的版本号: 

1 function GetAppVersion() {

2     var XLApp = new ActiveXObject(“Excel.Application”, “MyServer”);

3     return(XLApp.Version);

4 }

如果指定的远程服务器不存在或找不到时将会发生错误。

5.2.6 在客户端上创建对象实例 

在ASP中讨论在服务器上实例化对象和组件的技术时,值得强调的是在浏览器中运行客户端页面而完成同样工作的方式。如果你使用ASP创建包含客户端脚本程序的页面,或者使用<OBJECT>元素创建客户端组件实例,将会发现这是非常有用的。在大多数情况下,脚本运行期对象可在客户端上实例化和使用,效果与服务器上的ASP相同。 

1. VBScript CreateObject方法 

在客户端使用CreateObject时,在浏览器的环境内创建组件或对象实例,它们与浏览器运行在相同的内存空间里(即进程内),除非实现的对象是带有.exe扩展文件名的可执行文件。 

通常指定对象的ClassID,而不是使用ProgID字符串,这样就不可能与其他安装在客户端的对象发生冲突。 

<SCRIPT LANGUAGE=”VBScript”> 

Dim objThis 

Set objThis = CreateObject(“clsid:892D6DA7-E0F9-00105A42AF30”) 

… 

</SCRIPT> 

当然也可以使用ProgID,并且使用通用的对象或组件(特别是标准安装提供的对象或组件),那么得到错误的组件的风险是很小的: 

<SCRIPT LANGUAGE=”VBScript”> 

Dim objThis 

Set objThis = CreateObject(“Scripting.Dictionary”) 

… 

</SCRIPT> 

2. Jscript ActiveXObject方法 

为了在客户端上实例化Jscript的对象和组件,必须使用ActiveXObject方法和new操作符: 

<SCRIPT LANGUAGE=”JScript”> 

var objMyData = new ActiveXObject(‘clsid: 892D6DA7-E0F9-00105A42AF30’); 

</SCRIPT> 

或: 

<SCRIPT LANGUAGE=”JScript”> 

var objMyData = new ActiveXObject(‘this.object’); 

</SCRIPT> 

3. <OBJECT>元素技术 

也可使用<OBJECT>元素创建客户端对象或组件的实例。应省略RUNAT属性或者将其设定为“CLIENT”。然而,这个属性在客户端上是被忽略的,因此设置这个属性的唯一目的就是,在ASP页面使用<OBJECT>元素实例化服务器端的组件实例时防止混淆。 

<OBJECT ID=”objThis” RUNAT=”CLIENT” 

CLASSID=”clsid: 892D6DA7-E0F9-00105A42AF30” 

CODEBASE=”
http://yourserver.com/components/mycomponent.cab”> 

<PARAM NAME=”param1” VALUE=”value1”> 

<PARAM NAME=”param2” VALUE=”value2”> 

</OBJECT> 

注意,这里出现的CODEBASE属性,表示允许下载并安装来自URL的组件(如果该组件没有安装)。IE 3.0以上的版本有此功能。 

对于使用<OBJECT>元素的方法、可使用的属性、在客户端使用的值,可查看网站http: //msdn.Microsoft.com/workshop/author/dhtml/reference/objects/OBJECT.asp,或者Windows 2000 Platform SDK文档中的<OBJECT> tags,或者看看《IE5 Dynamic HTML Programmer’ Reference》一书,ISBN 1-861001-74-6,Wrox出版社。 

================================ 

ActiveXObject 对象

启用并返回 Automation 对象的引用。

newObj = new ActiveXObject(servername.typename[, location])

ActiveXObject 对象语法有这些部分:

参数

newObj

必选项。要赋值为 ActiveXObject 的变量名。

servername

必选项。提供该对象的应用程序的名称。

typename

必选项。要创建的对象的类型或类。

location

可选项。创建该对象的网络服务器的名称。

说明

Automation 服务器至少提供一类对象。例如,字处理应用程序可能提供应用程序对象、文档对象和工具栏对象。

要创建 Automation 对象,将新的 ActiveXObject 赋给对象变量:

var ExcelSheet;
ExcelApp = new ActiveXObject("Excel.Application");
ExcelSheet = new ActiveXObject("Excel.Sheet");

本代码启动创建对象的应用程序(在这种情况下,Microsoft Excel 工作表)。一旦对象被创建,就可以用定义的对象变量在代码中引用它。 在下面的例子中,通过对象变量 ExcelSheet 访问新对象的属性和方法和其他 Excel 对象,包括 Application 对象和 ActiveSheet.Cells 集合。

// 使 Excel 通过 Application 对象可见。
ExcelSheet.Application.Visible = true;
// 将一些文本放置到表格的第一格中。
ExcelSheet.ActiveSheet.Cells(1,1).Value = "This is column A, row 1";
// 保存表格。
ExcelSheet.SaveAs("C://TEST.XLS");
//  Application 对象用 Quit 方法关闭 ExcelExcelSheet.Application.Quit();

只有当 Internet 安全性关闭时才能完成在远程服务器中创建对象。要在远程网络计算机创建对象,可以将该计算机的名称传递给 ActiveXObject 的 servername 参数。该名称与共享名的机器名部分相同。比如共享名为 “//myserver/public” 的网络,servername 是 “myserver”。另外,可以用 DNS 格式或 IP 地址指定 servername

下面的代码返回在名为 “myserver” 的远程网络计算机上运行的 Excel 实例的版本号:

function GetAppVersion() {
   var XLApp = new ActiveXObject("Excel.Application", "MyServer");
   return(XLApp.Version);
}

如果指定的远程服务器不存在或找不到时将发生错误。

 

javascript字典对象Dictionary用法[new ActiveXObject(“Scripting.Dictionary”)]
2008-05-06 13:38

解说:
字典对象的创建:
var dic=new ActiveXObject(“Scripting.Dictionary”);

创建了字典对象后就可以使用它的属性和方法了:

dic.add(key,value) 用来添加一组字典项目.
dic.remove(key) 用来删除指定key的字典项目.
dic.removeAll() 方法是用来删除字典全部项目.
dic(key)可以取得字典里的值
用dic.Keys()来表示key的集合, 然后将集合转化为数组;然后用a.getItem(索引值)来取得字典的key. 
dic.Exists(key) 用来搜索字典中的key, 它是一个布尔值,存在就返回true,否则为false;
//===================================================
<script language = javascript>
function ok(){

try{

   var obj = new ActiveXObject(“Scripting.Dictionary”);//创建对象
   obj.Add(“hello”,”BeiJing”);//增加新项
   obj.Add(“world”,”北京”);
   obj.Item(“hello”)=”上海”;//修改
   //遍历Dictionary
   var keys=obj.Keys().toArray();//将obj对象的键值转换成数组
   for(var i = 0;i<keys.length;i++){

       if(obj.Exists(keys[i])){//判断对象集合中是否存在指定键值的项
        alert(obj(keys[i]));
obj.Item(keys[i])=null;
        obj.Remove(keys[i]);//删除指定键值项
       }
   } 
}
catch(e)
{

   alert(e.message);
}
}
ok();
</script>

 

在Browser里通过JavaScript的new ActiveXObject( “AAA.BBB” )可以创建一个COM物件,但此种行为只能在Browser的安全限制为低时才能执行,这对于用户而言是不可接受的,如果安全限制不为低时,Browser没有任何提示下出错退出,我想,既然JavaScript提供new ActiveXObject这样的语句,就应该有其实用的地方,那位大侠能告诉我相关的知识?

获取activexobject对象失败_js获取对象回答:

    安全是头等大事,所以IE加这样的限制也是合理的。一般来说控件需要实现IObjectSafety 才行,可以参考微软的Knowledge Base的文章:“Q164119 AMPLE: SafeCtl.exe Implements IObjectSafety in ActiveX Control”。 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181931.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微信开放平台PC端扫码登录功能个人总结

    微信开放平台PC端扫码登录功能个人总结最近公司给我安排一个微信登录的功能,需求是这样的:  1.登录授权    点击二维码图标后,登录界面切换为如下样式(二维码),微信扫描二维码并授权,即可成功登录;      若当前账号未绑定微信账号,扫描后提示“您的账号未绑定微信号,请先登录绑定”;      点击“返回”按钮,界面切换为账号密码登录;      若微信号绑定多个账号在,则展示所绑定全部账号的用户名…

    2022年4月29日
    146
  • Verilog流水线_verilog菜鸟教程

    Verilog流水线_verilog菜鸟教程需求说明:Verilog设计基础内容   :流水线设计来自   :时间的诗流水线设计前言:本文从四部分对流水线设计进行分析,具体如下:第一部分什么是流水线第二部分什么时候用流水线设计第三部分使用流水线的优缺点第四部分流水线加法器举例第一什么是流水线流水线设计就是将组合逻辑系统地分割

    2022年8月14日
    10
  • 用冒泡法和选择法对10个整数排序(C语言 数组)

    用冒泡法和选择法对10个整数排序(C语言 数组)1 区别 nbsp nbsp nbsp nbsp nbsp nbsp 两者最大的区别在于算法本身 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 冒泡法是相邻元素两两比较 每趟将最值沉底即可确定一个数在结果的位置 确定元素位置的顺序是从后往前 其余元素可以作相对位置的调整 可以进行升序或降序排序 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 选择法是每趟选出一个最值确定其在结果序列中的位置 确定元素的位置是从前往后 而每趟最多进行一次交换 其余元素的相对位置不变 可进行降序排序或升序排序 2 冒泡法

    2026年2月1日
    1
  • 公有云和私有云的区别正确的是_私有云安全性相对公有云更好

    公有云和私有云的区别正确的是_私有云安全性相对公有云更好私有云和公有云的显著差别在于对数据的掌控。只需一分钟,下面几张图就能让你看懂公有云和私有云的本质区别。私有云和公有云的显著差别在于对数据的掌控。采用公有云服务的企业必须将数据托管于云服务商的数据中

    2022年8月6日
    5
  • mysql grant 使用 授权 添加用户

    mysql grant 使用 授权 添加用户

    2021年4月29日
    147
  • dirsearch安装教程「建议收藏」

    dirsearch安装教程「建议收藏」dirsearch安装教程dirsearch是一个用python开发的网站目录扫描工具github下载地址笔者安装在windows上下载的是zip包因为需要用到python直接解压到安装python环境的位置打开cmd进入dirsearch目录后,输入命令进行安装pythonsetup.py安装成功后就可以直接使用了pythondirsearch.py-uip命令详解dirsearch-h到这里就结束了…

    2022年10月5日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号