论坛首页 综合技术论坛

利用attachEvent获取owc.spreadsheet控件传递参数

浏览 2374 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-12-13  
利用js可以捕获activex控件的事件,一直用<SCRIPT language="JavaScript" event="SheetDeactivate(sh)" for="spreadsheet1">(spreadsheet1为控件id)。但要将事件附加写入到一个js文件中,总感觉这种方式不爽,就用ie提供的attachEvent,但怎么传递参数一直没能得到解决,今天浏览http://www.cnitblog.com/yemoo/archive/2008/01/02/38384.html的文章,就来尝试一下,问题得到解决,帖出来希望对大家有用
在html网页中插入
<object id="spreadsheet1" classid="clsid:0002E559-0000-0000-C000-000000000046" />office的电子表格控件,提供的SheetChange事件可以在用户更改单元格数据时触发,带了两个参数,一个是
工作表的 Worksheet 对象,一个是更改区域的 Range 对象,
在js文件中加入:
function test(){
for(var i=0;i<arguments.length;i++){
alert(arguments[i]);
}
}
spreadsheet1.attachEvent("sheetchange",test);
运行会显示3个对话框,第一个显示object对象,第二个显示的是你更改单元格中的数据,第三个为null
好,继续尝试,我们知道SheetChange事件的第一个参数是Worksheet 对象,有一个name属性,第二个参数是更改区域的Range对象,有个Address属性,修改函数如下:
function test(){
alert(arguments[0].name);
alert(arguments[1].Address);
}
这时我在电子表格中的A1单元格输入11,会弹出对话框,显示Sheet1,和$A$1,OK

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics