使用JavaScript中ActiveXObject 对象的方法:
语法
newObj = new ActiveXObject(servernametypename[, location])
参数
newObj:必选。 ActiveXObject 分配到的变量名称。
servername:必选。 提供对象的应用程序的名称。
typename :必选。 要创建的对象的类型或类。
location:可选。 要在其中创建对象的网络服务器的名称。
备注
自动化服务器至少提供一种对象。 例如,字处理应用程序可能会提供应用程序对象、文档对象和工具栏对象。
你可以在 HKEY_CLASSES_ROOT 注册表项中标识宿主 PC 上的 servernametypename 值。 例如,下面是可在此处找到的几个值示例,具体取决于安装的程序:
ExcelApplication
ExcelChart
ScriptingFileSystemObject
WScriptShell
WordDocument
要求
在以下文档模式中受支持:Quirks、Internet Explorer 6 标准、Internet Explorer 7 标准、Internet Explorer 8 标准、Internet Explorer 9 标准、Internet Explorer 10 标准和 Internet Explorer 11 标准。 在 Windows 8x 应用商店应用中不受支持。 请参见JavaScript 版本信息。
应用相关方法
创建对象实例后,就可以使用对象的相关方法了。比如,使用CreateTextFile方法创建一个文本文件:var fso = new ActiveXObject(“ScriptingFileSystemObject”);var f1 = fsocreatetextfile(“c:\\myjstesttxt”,true”);
访问对象相关属性
要访问对象的相关属性,首先要建立指向对象的句柄,这就要通过get系列方法实现:GetDrive负责获取驱动器信息,GetFolder负责获取文件夹信息,GetFile负责获取文件信息。比如,指向下面的代码后,f1就成为指向文件c:\testtxt的句柄:var fso = new ActiveXObject(“ScriptingFileSystemObject”);var f1 = fsoGetFile(“c:\\myjstesttxt”);然后,使用f1访问对象的相关属性。比如:var fso = new ActiveXObject(“ScriptingFileSystemObject”);var f1 = fsoGetFile(“c:\\myjstesttxt”);alert(“File last modified: ” + f1DateLastModified);执行上面最后一句后,将显示c:\myjstesttxt的最后修改日期属性值。但有一点请注意:对于使用create方法建立的对象,就不必再使用get方法获取对象句柄了,这时直接使用create方法建立的句柄名称就可以:var fso = new ActiveXObject(“ScriptingFileSystemObject”);var f1 = fsocreatetextfile(“c:\\myjstesttxt”,true”);alert(“File last modified: ” + f1DateLastModified);
*** 作驱动器(Drives)
使用FileSystemObject对象来编程 *** 作驱动器(Drives)和文件夹(Folders)很容易,这就象在Windows文件浏览器中对文件进行交互 *** 作一样,比如:拷贝、移动文件夹,获取文件夹的属性。
Drives对象属性
Drive对象负责收集系统中的物理或逻辑驱动器资源内容,它具有如下属性:l TotalSize:以字节(byte)为单位计算的驱动器大小。l AvailableSpace或FreeSpace:以字节(byte)为单位计算的驱动器可用空间。l DriveLetter:驱动器字母。l DriveType:驱动器类型,取值为:removable(移动介质)、fixed(固定介质)、network(网络资源)、CD-ROM或者RAM盘。l SerialNumber:驱动器的系列码。l FileSystem:所在驱动器的文件系统类型,取值为FAT、FAT32和NTFS。l IsReady:驱动器是否可用。l ShareName:共享名称。l VolumeName:卷标名称。l Path和RootFolder:驱动器的路径或者根目录名称。
Drive对象 *** 作例程
下面的例程显示驱动器C的卷标、总容量和可用空间等信息:var fso, drv, s =”";fso = new ActiveXObject(“ScriptingFileSystemObject”);drv = fsoGetDrive(fsoGetDriveName(“c:\\”));s += “Drive C:” + ” – “;s += drvVolumeName + “\n”;s += “Total Space: ” + drvTotalSize / 1024;s += ” Kb” + “\n”;s += “Free Space: ” + drvFreeSpace / 1024;s += ” Kb” + “\n”;alert(s);
ActiveX 对象可能存在安全问题。 若要使用 ActiveXObject,你可能需要在相关安全区域的 Internet Explorer 中调整安全设置。 例如,对于本地 Intranet 区域,通常需要将自定义设置更改为“对没有标记为安全的 ActiveX 控件进行初始化和脚本运行”。
如果没有可用的自动化对象的参考文档,则要标识可以在代码中使用的自动化对象的成员,你可能需要使用 COM 对象浏览器,例如 OLE/COM 对象查看器。
为了提高速度,可能需要多人同时处理一张 Excel 表格。 Excel2007 为了满足这种需求,为我们提供了“共享工作簿”的功能。以下是我为您带来的关于Excel2007多人协同录入工作,希望对您有所帮助。
Excel2007共享多人协同录入工作一、设置共享
启动Excel 2007,打开需要设置共享的工作薄文档,切换到“审阅”菜单选项卡中,单击“更改”组中的“共享工作薄”按钮,打开“共享工作薄”对话框,如下图所示。
在“编辑”选项卡中,选中“允许对各用户同时编辑,同时允许工作薄合并”选项。再切换到“高级”选项卡中,调整相关选项的设置。
设置完成后,单击“确定”按钮,软件会d出一个提示框,单击其中的“确定”按钮,完成工作薄的共享设置。
二、使用共享工作薄
将上述共享工作薄放到局域网中一台电脑的某个共享文件夹中。局域网中的每一位用户,都在各自的电脑上,启动Excel 2007,定位到上述共享文件夹中,打开共享工作薄,对其进行相关的编辑 *** 作,并执行保存 *** 作。
当局域网上其他用户要查看别人编辑的结果时,执行一下“保存” *** 作,系统会d出一个提示框,按下“确定”按钮接受这种修改。
此时,相应的单元格左上角出现一个蓝色的标记,同时相应单元格的行、列标号被红色突出显示出来。当我们将鼠标指向其中某个单元格时,会出现一个类似于“批注”的对话框,显示出该单元格中的数据修改信息。
三、建立修订日志
为了审核工作表中数据的需要,我们可以为用户的修改情况建立一个修订日志,仔细核查所有用户的修订情况。
切换到“审阅”菜单选项卡中,单击“更改”组中的“修订”按钮,在随后出现的下拉菜单中,选择“突出显示修订”选项,打开“突出显示修订”对话框,如下图所示。
按“时间“右边的下拉按钮,在随后出现的下拉菜单中,选择“全部”选项;再选中“修订人”/“每个人”。
全部设置完成后单击“确定”按钮,软件就会在该工作薄中新建一个“历史记录”工作表,里面保存着所有的修订情况记录。
四、取消共享
再次打开“共享工作薄”的对话框,在“编辑”选项卡中,取消选择“允许多用户同时编辑,同时允许工作薄合并”选项。单击“确定”按钮,软件会d出一个如下图所示的对话框,单击其中的“是(Y)”按钮,取消工作薄的共享功能。
Excel2007如何共享多人协同录入工作相关 文章 :
★ 2007excel表格如何多人同时编辑
★ 局域网怎么共享EXCEL为多人同时编辑
★ excel2007工作簿共用的设置教程
★ excel2007如何设置共享工作簿
★ 如何共享excel文档教程
★ excel2007如何共享
★ excel2007共享的设置方法
★ excel2007如何设置表格共享
★ excel2007共享工作簿的 *** 作教程
var _hmt = _hmt || []; (function() { var hm = documentcreateElement("script"); hmsrc = ">是的他们没有全局变量之说。但有别的办法可以实现。只有当文件可同时访问定义在一个页面内的mainjs,才可实现同一个变量的共享
若1html,2html存在父子窗口关系,即其中一个是另一个open出来的,
则可以通过opener或windowdialogArguments在访问同一个页面mainjs内定义的变量,即可实现所谓的共享。
如果彼此不能共享一个页面里的mainjs,则无法互相访问。
1、对已有对象进行扩充方法和属性
var object = new Object();objectname = "zhangsan";//每个对象需要写这些语句
objectsayName = function(name){//每个对象需要写这些语句
thisname = name;
};
objectsayName("lisi");
alert(objectname);
2、工厂方式创建对象
function createObject() {var object = new Object();
objectusername = "zhangsan";
objectpassword = "123456";
objectget = function(){
alert(thisusername + "," + thispassword);
}
return object;
}
var object1 = createObject();
var object2 = createObject();
object1get();
object2get();
// 带参数的构造方法
function createObject(username, password){
var object = new Object();
objectusername = username;
objectpassword = password;
objectget = function(){//缺点是,多少个对象则方法就有多少个
alert(thisusername + ", " + thispassword);
}
return object;
}
var object1 = createObject("zhangsan",123456);
object1get();
// 最佳改进方式
function get(){//使该函数被多个对象共享
alert(thisusername + ", " + thispassword);
}
function createObject(username, password){//创建对象
var object = new Object();
objectusername = username;
objectpassword = password;
objectget = get;
return object;
}
var object1 = createObject("zhangsan", "123456");
var object2 = createObject("wangwu", "654321");
object1get();
object2get();
3、构造函数方式创建对象
function Person(){//在执行第一行代码欠,js引擎会为我们生成一个对象
thisusername = "zhangsan";
thispassword = "123";
thisgetInfo = function(){
alert(thisusername + ", " + thispassword);
}
//此处有一个隐藏的return语句,用于将之前生成对象返回。
}
var p1 = new Person();
p1getInfo();
//带参数
function Person(username, password){
thisusername = username;
thispassword = password;
thisgetInfo = function(){
alert(thisusername + ", " + thispassword);
}
}
var p1 = new Person("zhangsan","1234546");
p1getInfo();
4、原型(“prototype”)方式
function Person(){}Personprototypeusername = "zhangsan";
Personprototypepassword = "123456";
PersonprototypegetInfo = function(){
alert(thisusername + ", " + thispassword);
}
var person = new Person();
var person2 = new Person();
personusername = "haha";
persongetInfo();
person2getInfo();
//单纯使用原型方式定义对象无法在构造函数中为属性赋值,只能在对象生成后再去改变属性值
function Person(){}
Personprototypeusername = new Array();
Personprototypepassword = "123456";
PersonprototypegetInfo = function(){
alert(thisusername + ", " + thispassword);
}
var person = new Person();
var person2 = new Person();
personusernamepush("zhangsan");
personusernamepush("lisi");
personpassword = "321";
persongetInfo();
person2getInfo();
5、综合方式(原型+构造函数方式搭配)
function Person(){thisusername = new Array();//不被多个对象共享
thispassword = "123";
}
PersonprototypegetInfo = function()//被多个对象共享
{
alert(thisusername + "," + thispassword);
}
var p1 = new Person();
var p2 = new Person();
p1usernamepush("zhangsan");
p2usernamepush("lisi");
p1getInfo();
p2getInfo();
6、动态原型方式
function Person(){thisusername = "zhangsan";
thispassword = "123";
//通过标志量让所有的对象共享方法
if(typeof Personflag == "undefined"){
alert("prototype");
PersonprototypegetInfo = function() {
alert(thisusername + ", " + thispassword);
}
Personflag = true;
}
}
var p = new Person();
var p2 = new Person();
pgetInfo();
p2getInfo();
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)