用exceldna封装了一个Eval函数,调用的是ms的jscript,没有什么ribbon界面,就一个函数.主要用于在wps的js宏里面在com对象操作上做一个补充吧。在网络和本地操作方面束手无策的时候可以换条路试试。下面展示一下运用。

function comobject(){
	var s=`var xl=new ActiveXObject('Excel.Application');
		var b=xl.Version;
		xl.Quit();
		b`;
		var result= Application.Run("Eval",s)
		console.log(result)
}

function scriptcontroluseexample(){
	var s=`var sc=new ActiveXObject('Scriptcontrol');
		sc.Language='Jscript';
		sc.AddCode('var a={"范生":15,"张三":12};');
		var b=sc.eval('a["张三"]');b`
	var result= Application.Run("Eval",s)
		console.log(result)
}

  

 

function 剪切板数据(){
	let ss= '"WPS JSA"'
	var s=`var html=new ActiveXObject('htmlfile');
		var owin= html.parentWindow;
		var a=owin.clipboardData.setData("text",${ss});
		a`;
		//console.log(s)
	var r=Application.Run("Eval",s);
	Range("A1").PasteSpecial(xlPasteAll)
}

 

增加了文本读写追加函数、使用方法如下:

 fso文件操作:

 

 

function test(){
let str =`var fso = new ActiveXObject("Scripting.FileSystemObject");
var f1 = fso.CreateTextFile("D:/file.txt", true);
f1.WriteLine("This is a test.");
f1.Close();`;
Application.Run('Eval', str);	
}

连接access数据库(wps依赖32位的access database engine),返回数组:

function 连接数据库(){
var s=`var cnstr="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\mytest.mdb;";
var cn = new ActiveXObject("ADODB.Connection");
cn.Open(cnstr);
var rs=cn.Execute("select * from 考试成绩")
var c=rs.GetRows();
cn.Close();c`;
let x=Application.Run("Eval",s);
Console.log(''+x)
}

fso获取文件的创建日期:

function 获取文件创建日期(){
	let strFile=ThisWorkbook.Path.replace(/\\/g,"/")+'/1.png'
	var s=`var fso=new ActiveXObject("Scripting.FileSystemObject");
		   var f=fso.GetFile("${strFile}");	
	       var r=f.DateCreated;r`;
	       console.log(s)
	let x =WorksheetFunction.Text(Application.Run("Eval",s),"yyyy-MM-dd HH:mm:ss")
	console.log(x)
}

wps没有64位版本。excel本身就是com操作,所以64位的我就不发了。32位版本的xll压缩附件:点击下载