您的位置:首页 > 其它

合并word文档时,用Jacob 插入分节符以达到保持原来的页眉的一个可行方案

2013-04-19 14:26 471 查看
修改原因:鄙视下csdn的博客贴图功能,不太好用,还丢图。文中图片突然显示不出来了,现在重新上传相关图片。

问题描述:

在用jacob进行合并多份word文档成一份时,为了让两份文档都能保持住自己原本的页眉页脚,我们需要在合并时在两份word文档之间插入一个分节符。注意不是分页符,插入分页符会让第二份word文档的页眉页脚被前一份给替换掉。

但是jacob提供的方法,其实是插入分页符了,不能满足我们的需要。如下所示: Dispatch.call(word.getProperty("Selection").toDispatch(),"InsertBreak", new Variant(7));

参考方案:

我没有找到现成的语句来插入分节符,但可以采取另外一个途径达到目的。以Microsoft Office Word 2007为例——

步骤:

一、在word文档中先录制插入分节符的宏。

1.新建或者打开一份word文档,在工具栏View->Macros中点击Record Macros,开启录制。



此时要起个名字(我起的是InsertBreakWdSectionBreakNextPage),点击ok进行录制,此时鼠标旁边会多了一个磁带一样的标记。

2.然后在工具栏Page Layout->Breaks->Section Breaks组里,点击Next Page。



这样文档中就会插入一个分节符了,同时也被录制下来了。

3.再到工具栏View->Macros中点击Stop Recording,停止录制,点击View Macros可以看到刚刚录制好的宏命令。 如下即是我录制的插入一个分节符的宏:



要注意到分页符和分节符的区别,分页符是Selection.InsertBreak Type:=0

二、在程序中用jacob调用它。

Dispatch.call(app, "Run", new Variant("InsertBreakWdSectionBreakNextPage"));

这样在进行合并多份word文档时,在需要插入分节符的地方就可以用了,每份文档也就保留了各自原有的页眉页脚了。

实例如下所示:

其中ConstantUtil.MACROS_SECTION_BREAK_NEXT_PAGE也就是"InsertBreakWdSectionBreakNextPage",是刚才起的名字。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: