clswindow是一个控制其他程序的类,之前有个vb6用的版本,但是直接在vba中使用会有一个小小的问题,现在修改了后可以添加到vba中使用了,这样在vba中就可以自由控制操作其他程序了。
压缩包里有个excel文件,演示的例子是读取当前打开的记事本的内容然后关闭它。需要先打开任意一个记事本文件。
相关代码:
Sub 按钮1_Click()
Dim w As New clsWindow
Range("A1") = w.GetWindowByTitleEx("记事本", 1).GetElementTextByClassName("edit")
w.CloseWindow
End Sub
clswindow2.0提供了很多丰富的方法控制外部程序哦,甚至可以让外部程序抖动,淡入淡出等效果。
clswindow类的详细介绍:http://blog.csdn.net/sysdzw/article/details/9083313
clswindow类的方法说明:http://wenku.baidu.com/view/c983a463d1f34693dbef3e33.html
常规方法和代码是非常耗时的,一页通用A4纸至少有这段文字的4-5倍多,也就是说,完成一页汉字加拼音,至少是100-125秒。那么对于多页甚至多份文档来说,此方法速度可能就不能满足我们的需求了。
可以运用汉字与拼音的映射关系,自己写一个函数,然后对我们要处理的汉字可以立刻找到对应的拼音。然后用Word VBA中的拼音指南方法Range.PhoneticGuide方法进行加拼音。
这种方法不用模拟键盘,每个汉字发送一次,所以运行速度上有非常大的提升。
使用方法,打开运行以下四个宏,进行相应增删操作:
Sub 所选汉字加拼音_函数()
Sub 所选汉字加拼音_正则与函数()
Sub 删拼音留文字_正则()
Sub 删拼音留文字_域()