2024年2月10日发(作者:)

EmEditor宏应用实例及解析:创建及删除文件林苑书屋于2023年12月6日晚编写

目录1、EmEditor的简洁介绍................................................................12、建议调整EmEditor的配置.......................................................23、EmEditor的宏功能....................................................................3本部分笔记要点.........................................................................44、创建文本文件.............................................................................5(1)直接创建一个文本文件.......................................................5(2)先判断文件是否存在,再创建文件...................................65、删除文件.....................................................................................7(1)删除文件...............................................................................7(2)先判断文件是否存在,再删除文件...................................8(3)另外一种方法,删除文件...................................................9

1、EmEditor的简洁介绍EmEditor是快速,轻巧,可扩展,使用方便的Windows文本编辑器。支持多种用户界面语言:捷克语,荷兰语,英语(英国),英语(美国),法语,德语,意大利语,西班牙语,日语,韩语,简体中文,繁体中文,和俄语。支持的操作系统:Windows11/10/8.1/7SP1/Server2008R2或更高。截止到2023年12月1日:新版本为EmEditorv23.0.4。从收费的角度来看:由Professional(专业版)和Free(免费版);从安装的角度来看:分为桌面安装版,桌面便携版和商店应用版。第1页共11页

2、建议调整EmEditor的配置1)菜单栏→所有配置属性→常规→显示行号2)菜单栏→所有配置属性→段落标记→显示换行符、显示空格等。第2页共11页

3、EmEditor的宏功能不想看本部分的,可以直接看本部分笔记要点。EmEditorProfessional支持使用JavaScript或VBScript创建功能丰富的宏。宏的功能包括:1)WindowsScriptingHost宏的操作基于WindowsScriptingHost(WSH)引擎的工作环境,所以呢,可以灵活使用不同的WindowsComponent对象Model(COM)对象。举个栗子:可以使用RegExp对象来执行正则表达式搜索,亦可以使用FileSystemObject对象来操控文件,还可以使用WshShell对象创建快捷键,操纵Windows注册表,或者使用WshNetwork对象来进行具有联网功能的工作。另外,还可以创建并执行宏,让你能用一个支持自动化(例如Word和Excel)的外部程序来复制EmEditor中创建的文档,粘贴并显示在外部程序中。2)支持JavaScript或VBScriptEmEditor把JavaScript或VBScript作为它的宏语言,因此,对于熟悉HTML或Windows脚本编写的用户,编写宏soeasy。然而对于不熟悉这些脚本语言的用户,EmEditor亦能让你轻轻松松地编辑和需改宏,因为EmEditor能录制键盘动作,并把它保存到一个能随时加载的宏文件中,方便借鉴编写属于自己的宏。通过JavaScript或VBScript,你也能容易地检查代码出错的部分。比方说,在JavaScript中,你可以使用下列语句来排出错误:try{...}catch(e){...}当存在一个错误,如无法打开文件,try-catch语句会允许你编写的脚本继续执行,而不是强制结果它。3)可以在EmEditor中定义大部分操作EmEditor的宏都建立在EmEditor的文档对象模型(DOM)上,可以同时使用4个对象,以及104个属性和方法。这种结构让你能轻松地在EmEditor中使用宏执行大部分操作。4)宏的集成开发环境第3页共11页

当在EmEditor中打开一个宏文件时,关键字,比方说EmEditor宏对象,属性,或方法都会被自动高亮;还有对某些关键字的帮助,将光标移到关键字上时候,就能选择“查找关键字”命令,或按F1键来查看帮助。如果在执行一个宏时发生错误,一个对话框就会出现,并显示发生错误的内容。假如点击「编辑」按钮,这个宏文件就会被打开,并且跳到错误发生的位置处。5)EmEditor中宏的模块化设计EmEditor中的宏是独立于EmEditor之外的模块,它是作为动态链结库(DLL)文件被执行的。为了维护系统资源,DLL仅仅在宏执行期间被加载。6)按键和鼠标操作记录和回放EmEditor能够记录并回放在其他应用程序上的按键以及鼠标操作。这个功能让您在桌面,浏览器,还有您最喜欢的应用程序中能自动执行特定的任务(这个功能,笔者还真不知道怎么使用)。对于程序设计者来说,这个功能还可以用来测试应用程序。例如,Window对象能告知你当前窗口中的所有属性,还有Windows集合能为一个特定窗口列举顶层窗口或子窗口。Shell对象能发送按键和鼠标活动并列举或寻找顶层窗口。注意:EmEditor中不支持当前JavaScript/ECMAScript中的许多新方法。EmEditor宏使用JScript5.8(相当于InternetExplorer8.0),所以EmEditor宏不支持JScript5.8之后引入的新方法。使用时候,请认真检查您要使用的方法是否满足所需的版本。本部分笔记要点(1)EmEditorProfessional的宏有JavaScript和VBScript两种,(2)EmEditor用到了WindowsScriptingHost。(3)EmEditor宏不支持JScript5.8之后引入的新方法。(4)EmEditor宏可以通过录制键盘和鼠标指针移动的大多数操作来实现。(5)try{...}catch(e){...}是个好东西。第4页共11页

4、创建文本文件(1)直接创建一个文本文件当不需要考虑原先有没有文本文件,则可以使用下面代码:ec="D:演示文件夹"+"";//文件的完整路径File(fileSpec);//创建文件fileSpec为文件的完整路径(含oncreateFile(fileSpec)//创建文件:文件名及其后缀名)。返回:无内容。4.{=newActiveXObject("stemObject");ile=TextFile(fileSpec,true);//创建文件ine("");//此处没写入内容,亦可以写入内容();//关闭文件9.}代码解析:1、本函数部分使用的是用FileSystemObject对象来创建文本文件2、CreateTextFile方法:创建指定的文件名并返回一个TextStream对象,可以使用这个对象对文件进行读写。举例说明:1)varmyFile=TextFile(fileSpec);//即使原来有该文件,也不会提示,直接覆盖创建;如果创建的文件写入的空值、数字、字母类,文件作为Unicode文件创建;若是中文字符,则文件作为ASCII文件创建。2)varmyFile=TextFile(fileSpec,true);//即使原来有该文件,也不会提示,直接覆盖创建;3)varmyFile=TextFile(fileSpec,false);//原来有该文件,会报错4)varmyFile=TextFile(fileSpec,true,true);//自行体验5)varmyFile=TextFile(fileSpec,true,false);//自行体验第5页共11页

(2)先判断文件是否存在,再创建文件当需要考虑原先有没有文本文件,则使用下面代码:ec="D:演示文件夹"+"";//文件的完整路径FileIf(fileSpec);//创建文件oncreateFileIf(fileSpec)//创建文件:fileSpec为文件的完整路径(含文件名及其后缀名)。返回:无内容。4.5.6.7.8.9.10.11.12.13.14.15.16.{varfso=newActiveXObject("stemObject");if(ists(fileSpec)==false){varmyFile=TextFile(fileSpec,true);//创建文件ine("");//此处没写入内容,亦可以写入内容();//关闭文件}else{alert("该文件已经存在,无需创建!");//弹窗显示结果}}代码解析:FileExists方法:需要判定是否存在的文件的名称.如果文件可能不在当前文件夹中,那么必须提供完整的路径说明(可以是绝对的或相对的)ists(fileSpec)的返回值是true或者false。总结函数如下:onfileExistStatus(fileSpec)//返回:文件存在返回true;反之,返回false。2.{=newActiveXObject("stemObject");(ists(fileSpec))5.{ue=true;7.}9.{ue=false;11.}(value);13.}第6页共11页

5、删除文件(1)删除文件本函数缺点:当删除的文件不存在或者要删除的文件设置了只读属性,都会报错。ec="D:演示文件夹"+"";//文件的完整路径File(fileSpec);//删除文件fileSpec为文件的完整路径(含ondeleteFile(fileSpec)//删除文件:文件名及其后缀名)。返回:无内容。4.{,f;=newActiveXObject("stemObject");7.f=e(fileSpec);();9.}代码解析:Delete方法:删除指定文件。();//当删除的文件不存在或者设置了只读属性,都会报错(false);//当删除的文件不存在或者设置了只读属性,都会报错(true);//可以删除设置了只读属性的文件;当要删的文件不存在,会报错。第7页共11页

(2)先判断文件是否存在,再删除文件如何解决上节的问题呢?可以选择先判断文件是否存在,再删除文件。1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.//先判断文件是否存在,再删除文件fileSpec="D:演示文件夹"+"";//文件的完整路径deleteFileIf(fileSpec);//删除文件functiondeleteFileIf(fileSpec)//删除文件:fileSpec为文件的完整路径(含文件名及其后缀名)。返回:无内容。{varfso,f;fso=newActiveXObject("stemObject");if(ists(fileSpec)==true){f=e(fileSpec);();}else{alert("该文件不存在!")}}第8页共11页

(3)另外一种方法,删除文件下面再介绍一种删除文件的方法:DeleteFile方法1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.//先判断文件是否存在,再删除文件fileSpec="D:演示文件夹"+"";//文件的完整路径deleteFileIf(fileSpec);//删除文件functiondeleteFileIf(fileSpec)//fileSpec可以在最后的路径成分中包含通配字符。返回:无内容。{varfso,f;fso=newActiveXObject("stemObject");if(ists(fileSpec)==true){File(fileSpec);}else{alert("该文件不存在!")}}//如果找不到匹配的文件则出错。DeleteFile方法在遇到第一个错误时终止。出错后不试图回滚或撤消出错前做的修改。代码解析:DeleteFile方法:删除指定文件。File(fileSpec);//当删除的文件不存在或者设置了只读属性,都会报错(fileSpec,false);//当删除的文件不存在或者设置了只读属性,都会报错(fileSpec,true);//可以删除设置了只读属性的文件;当要删的文件不存在,会报错。第9页共11页