前言
虽然企业中多数项目往往通过自定制的界面和数据载体与后台系统交互,但在办公自动化、电子政务领域仍存在大量面向包括Word在内的电子文档操作。区别于Excel、Access和InfoPath等数据为中心的处理,Word更侧重于对于文章段落内容、格式的操作。
实践中,Office自动化开发中往往要面对下列挑战:
Office版本更新快,但用户群更新相对较慢,项目中需要同时兼容多个版本,但Office产品不同版本间接口兼容性经常断裂;
单机版Office软件容易因为格式错误导致运行错误,相关进程不妥善清理很容易破坏文档造成无法修复的问题;
面对日益严峻的信息安全问题,很多企业内网安全策略会禁用Office宏、内嵌脚本和客户端渲染的处理;
第三方Office中间件技术支持力量往往无法保障,尤其是部分开源项目其适用性有限,且经常存在无法绕过的“黑盒”By Design问题,最终不得不放弃该中间件并推倒整个设计重做。
但同时我们也要看到Word自动化处理中的特点:
Word提供模板机制,可以通过模板完成绝大部分章节段落以及文稿样式的设计;
尽管原始数据类型差别迥异,但实际Word操作中使用的类型主要是string,图形、图表对象则可考虑集成Visio或Excel完成;
文档数据填充形式相对固定,一般是下列三种情况之一或组合:
操作一系列单独的内容区域;
操作一个表格区域;
操作单一区域。
针对上述特点,为便于重复开发量、便于开发人员访问Word文档须进行局部架构设计。
定义书签
但在此之前,为了简化Word编程,本框架针对Bookmark访问并操作Word,定义方法如下:
1、打开word文件,选择显示Bookmark
2、选择位置,然后插入Bookmark。对于需要操作的表格区域可以选择整个区域后插入Bookmark。