|
|
先复制文本内容或表格区域- //提取编码.JS
- //从剪贴板中文本,提取不重复的六位编码,放回剪贴板。
- //新格式编码为逗号分隔
- var 剪贴板文本=获取剪贴板文本();
- var 数字串=剪贴板文本.replace(/[^\d^,]+/g,','); //非数字替换成分隔符
- /*var 数串数组=数字串.split(','),数码="",计数=0; //数组:六位除重
- for(var 序号=0;序号<数串数组.length;序号++){
- eval("if(数串数组[序号].length==6 && typeof _识别_"+ 数串数组[序号] +"=='undefined'){var _识别_"+ 数串数组[序号] +"='存在';计数++;数码+=数串数组[序号]+',';}");
- }*/
- var 数串数组=数字串.split(','),除重对象={},数码="",计数=0; //数组:六位除重
- for(var 序号=0;序号<数串数组.length;序号++){
- //WScript.Echo(typeof 数码对象[数串数组[序号]]);
- if(数串数组[序号].length==6 && typeof 除重对象[数串数组[序号]]=='undefined'){除重对象[数串数组[序号]]=1;计数++;数码+=数串数组[序号]+',';}
- }
- 设置剪贴板文本2(数码);
- WScript.Echo("数组拆分( "+ 计数 +" 个不重复元素,长度 "+ 数码.length +" ):\n"+ 数码);
- WScript.Quit();
- //结束//
- /* =====函数===== */
- function 获取剪贴板文本(){
- var _XML=new ActiveXObject("xmlfile");
- var 字符串=_XML.parentWindow.clipboardData.getData("text");
- return 字符串;
- }
- function 设置剪贴板文本(字符串){ //有字符长度限制,大概450字节
- var _WSH=new ActiveXObject('WScript.Shell');
- var 字符串JS=字符串.replace(/\n/g,'\\n'); //因mshta套用,换行符加转义
- var 设剪贴板JS码="javascript:clipboardData.setData('text','"+字符串JS+"');window.close();";
- _WSH.Run('mshta '+设剪贴板JS码); //复制到剪贴板,通过mshta
- }
- function 设置剪贴板文本2(字符串){ //调用CMD,命令也有长度限制
- var _WSH=new ActiveXObject('WScript.Shell');
- _WSH.Run("cmd /c echo "+ 字符串 +"|clip",0); //字符串到剪贴板(末尾有换行)
- }
- function 设置剪贴板文本3(字符串){ //调用大漠插件
- var dm = new ActiveXObject("dm.dmsoft"); //创建大漠插件对象
- var 执行结果标识=dm.SetClipboard(字符串); //字符串到剪贴板
- return 执行结果标识;
- }
复制代码 |
|