最近搞了一段时间VBA编程,是基于JAVA下的OLE实现,这个东西还是比较贱的,特点如下:
1.函数调用如果有返回值,可以得到返回值判断之。
2.如果是属性(变量)类型是Variant,如果是null说明执行函数和获得属性的方法不存在,如果是Variant$$null是函数和属性执行结果的返回值,如果是Variant(一串数字)则该变量值存在。
3.如果变量是基本类型,可以调用Variant相应函数得到它的值。
4.在VBA下运行没问题的,可能JAVA下就会有错(郁闷 )
5.OLE方式中,对WORD的操作可以在程序中直接看到
针对性的方法:
1.在一个功能中和完成后,使用System.out输出调试信息,争取只看调试信息就可以知道程序运行的情况
2.对于VBA中不能实现的方法,可以使用另一种思路来实现,比如:页眉是seekview没法实现,可使用section其中实现;当以某文件为模板进行大量复制时,会出现错误,应该设定文件数,保存到多个文件,再进行文件合并
3.要实现一个功能,先在WORD使用宏运行一下,删除无用的代码,得到最精简的部分。如果正常的话,可以在JAVA中编程实现,有问题则再GOOGLE上找去喽
有用的程序:
1. 单个文件打印 批量打印
2. 保存文件 批量保存文件
3. 设置页眉、页脚
4. 查找和替换
5. 建立表格和向表格中写入数据
用这几天的时间把程序总结一下
1.函数调用如果有返回值,可以得到返回值判断之。
2.如果是属性(变量)类型是Variant,如果是null说明执行函数和获得属性的方法不存在,如果是Variant$$null是函数和属性执行结果的返回值,如果是Variant(一串数字)则该变量值存在。
3.如果变量是基本类型,可以调用Variant相应函数得到它的值。
4.在VBA下运行没问题的,可能JAVA下就会有错(郁闷 )
5.OLE方式中,对WORD的操作可以在程序中直接看到
针对性的方法:
1.在一个功能中和完成后,使用System.out输出调试信息,争取只看调试信息就可以知道程序运行的情况
2.对于VBA中不能实现的方法,可以使用另一种思路来实现,比如:页眉是seekview没法实现,可使用section其中实现;当以某文件为模板进行大量复制时,会出现错误,应该设定文件数,保存到多个文件,再进行文件合并
3.要实现一个功能,先在WORD使用宏运行一下,删除无用的代码,得到最精简的部分。如果正常的话,可以在JAVA中编程实现,有问题则再GOOGLE上找去喽
有用的程序:
1. 单个文件打印 批量打印
2. 保存文件 批量保存文件
3. 设置页眉、页脚
4. 查找和替换
5. 建立表格和向表格中写入数据
用这几天的时间把程序总结一下