李亮1975重庆
语料库快乐军政委
【预备阅读】最好首先阅读《语料编程空手道:从VBA,到VBS,到HTA》这篇帖子
http://www.corpus4u.org/forum/showthread.php?t=8875
【核心提示】HTA是微软公司竭力推荐的一种混合编程技术,本质上是一个网页,只是文件扩展名是hta,却具备一个EXE程序的独立执行能力,采用HTML和CSS来创建丰富的图形用户界面,可以混入vbscript和vba和javascript这3种编程语言来实现极为广泛的实用功能。HTA就是HTML Application的缩写,希望更多了解,可以看微软的官方解释链接
http://msdn.microsoft.com/en-us/library/ms536496%28v=VS.85%29.aspx
【演示代码】如下:
<html>
<body>
<script type="text/vbscript">
sub go()
set sister=createObject("word.application")
sister.visible = true
sister.documents.add
sister.activate
sister.documents(1).range.text = mytext.value
sister.documents(1).characters(1).font.size=20
sister.documents(1).characters(2).font.size=30
sister.documents(1).characters(3).font.size=40
end sub
</script>
<input type="text" value="语料库" id="mytext"></input>
<input type="button" value="开始演示" onclick="go()"></input>
</body>
</html>
【演示方法】你可以把“演示代码”拷贝到一个txt文件中,然后把txt文件的文件扩展名从txt改为hta,然后双击运行即可;你也可以从本帖子的附件下载一个现成的HTA文件(在压缩包中,需要解压缩再运行)。
【演示效果】你会看到一个干净的主界面,只有一个文本框和一个按钮,这个文本框里面写着“语料库”三个字,那个按钮写着“开始演示”这四个字,而文本框中的“语料库”这三个字你可以更改为“计算机”或其他任何至少3个汉字以上的中文。点一下“开始演示”这个按钮,你就会发现Microsoft Word程序自动运行且自动新建了一个空白文件,一瞬间自动写入了上面文本框的那几个汉字,并且第1个汉字的字号被自动设置为20,第2个汉字的字号被自动设置为30,第3个汉字的字号被自动设置为40。至此,演示完毕。你可以重新更改那个文本框中的汉字,甚至打入一些英语字母,例如tiger。
【演示目的】借助“演示代码”,演示了:(1)HTA是个HTML文件,主代码是HTML语言;(2)HTA可以且必须通过vbscript来实现vba编程,来实现对Office组件的自动控制与自动编辑与自动排版。
【代码提示】HTML、VBS、VBA都是大小写不敏感的,所以你写出的字母可以是大写或小写或混合大小写,执行效果都是一样的。但是,如果你混入了javascript,那么,javascript本身代码必须是大小写敏感的,大小写必须按照规范来执行。
【VBA代码是哪些】答案:天蓝色字体的那些代码。
【VBS代码是哪些】答案:在<script type="text/vbscript">到</script>之间且包括这两个边界代码本身。
【"CreateObject"是什么】答案:它是一个函数名称,是vbs呼叫(调用)vba的必经之路,也是vbs能控制windows的文件系统的入口代码,通过这个函数vbs变成了”万能“。
【”sub go()“是什么】答案:它是名称为go的一个vbs函数(视为独立运行的代码模块),它持续到"end sub"为止。sub是个缩写词,全称是subroutine或subprocedure,表示相对独立的一个vbs或vb或vba的模块代码。
【sister是什么】答案:它只是随便设置的一个变量名称,它代表着即将运行起来的word程序,然后就继续代表着已经运行起来的word程序,通过sister这个字眼我们就能操控被我们创建起来word文件哟。
【为什么演示代码没有javascript】答案:为了最简洁地演示出vbs和vba,同时也考虑到javascript在HTA中的威力与vbs一样强大(通过“ActiveXObject”实现了“CreateObject”)而且代码原理极为类似,所以省略了javascript的混合效果。
http://www.corpus4u.org/forum/showthread.php?t=8875
【核心提示】HTA是微软公司竭力推荐的一种混合编程技术,本质上是一个网页,只是文件扩展名是hta,却具备一个EXE程序的独立执行能力,采用HTML和CSS来创建丰富的图形用户界面,可以混入vbscript和vba和javascript这3种编程语言来实现极为广泛的实用功能。HTA就是HTML Application的缩写,希望更多了解,可以看微软的官方解释链接
http://msdn.microsoft.com/en-us/library/ms536496%28v=VS.85%29.aspx
【演示代码】如下:
<html>
<body>
<script type="text/vbscript">
sub go()
set sister=createObject("word.application")
sister.visible = true
sister.documents.add
sister.activate
sister.documents(1).range.text = mytext.value
sister.documents(1).characters(1).font.size=20
sister.documents(1).characters(2).font.size=30
sister.documents(1).characters(3).font.size=40
end sub
</script>
<input type="text" value="语料库" id="mytext"></input>
<input type="button" value="开始演示" onclick="go()"></input>
</body>
</html>
【演示方法】你可以把“演示代码”拷贝到一个txt文件中,然后把txt文件的文件扩展名从txt改为hta,然后双击运行即可;你也可以从本帖子的附件下载一个现成的HTA文件(在压缩包中,需要解压缩再运行)。
【演示效果】你会看到一个干净的主界面,只有一个文本框和一个按钮,这个文本框里面写着“语料库”三个字,那个按钮写着“开始演示”这四个字,而文本框中的“语料库”这三个字你可以更改为“计算机”或其他任何至少3个汉字以上的中文。点一下“开始演示”这个按钮,你就会发现Microsoft Word程序自动运行且自动新建了一个空白文件,一瞬间自动写入了上面文本框的那几个汉字,并且第1个汉字的字号被自动设置为20,第2个汉字的字号被自动设置为30,第3个汉字的字号被自动设置为40。至此,演示完毕。你可以重新更改那个文本框中的汉字,甚至打入一些英语字母,例如tiger。
【演示目的】借助“演示代码”,演示了:(1)HTA是个HTML文件,主代码是HTML语言;(2)HTA可以且必须通过vbscript来实现vba编程,来实现对Office组件的自动控制与自动编辑与自动排版。
【代码提示】HTML、VBS、VBA都是大小写不敏感的,所以你写出的字母可以是大写或小写或混合大小写,执行效果都是一样的。但是,如果你混入了javascript,那么,javascript本身代码必须是大小写敏感的,大小写必须按照规范来执行。
【VBA代码是哪些】答案:天蓝色字体的那些代码。
【VBS代码是哪些】答案:在<script type="text/vbscript">到</script>之间且包括这两个边界代码本身。
【"CreateObject"是什么】答案:它是一个函数名称,是vbs呼叫(调用)vba的必经之路,也是vbs能控制windows的文件系统的入口代码,通过这个函数vbs变成了”万能“。
【”sub go()“是什么】答案:它是名称为go的一个vbs函数(视为独立运行的代码模块),它持续到"end sub"为止。sub是个缩写词,全称是subroutine或subprocedure,表示相对独立的一个vbs或vb或vba的模块代码。
【sister是什么】答案:它只是随便设置的一个变量名称,它代表着即将运行起来的word程序,然后就继续代表着已经运行起来的word程序,通过sister这个字眼我们就能操控被我们创建起来word文件哟。
【为什么演示代码没有javascript】答案:为了最简洁地演示出vbs和vba,同时也考虑到javascript在HTA中的威力与vbs一样强大(通过“ActiveXObject”实现了“CreateObject”)而且代码原理极为类似,所以省略了javascript的混合效果。