java用ole打开文本文件_从java使用OLE Automation将word文件拆分为多个较小的word文件...

我使用OLE自动化完成了以下工作:

打开word文档模板文件。

将邮件合并文件保存到新的word文档文件中。

第一次尝试时,我获取csv文件中的行数,并将其乘以模板中的页数,以获得合并后的总页数。然后我使用合并来创建多个文件。但问题是,我无法准确计算合并文档的页数,因为在某些情况下,模板的9页都不会使用,因为使用了数据和合并字段。因此,在某些情况下,一行只能创建3页(使用9页模板),而其他行可能在邮件合并期间创建9页(使用9页模板)。

因此,唯一的解决方案是将所有行合并到一个文档中,然后再将其拆分为多个文档,以确保每个文件中确实存在像3000页属性这样的确切页数,直到原始合并文件中没有剩余的页数为止。

在我最后一次尝试时,我一直试图使用GoTo来获取特定的页码并删除该页。我本来打算每一页一个一个地尝试这样做,直到我找到我想要的文件的起始位置,然后将其另存为一个新文件,但一直无法这样做。

有人能给我提些建议吗?

谢谢和问候

下面是使用jave中的OLE自动化打开word文件的示例:

Code sample

OleAutomation documentsAutomation = this.getChildAutomation(this.wordAutomation, "Documents");

int [ ] id = documentsAutomation.getIDsOfNames(new String[]{"Open"});

Variant[] arguments = new Variant[1];

arguments[0] = new Variant(fileName); // where filename is the absolute path to the docx file

Variant invokeResult = documentsAutomation.invoke(id[0], arguments);

private OleAutomation getChildAutomation(OleAutomation automation, String childName) {

int[] id = automation.getIDsOfNames(new String[]{childName});

Variant pVarResult = automation.getProperty(id[0]);

return(pVarResult.getAutomation());

}

Code sample

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值