使用jacob操作word文档时出现弹窗,导致程序卡死

绝望的奶黄包 2018-01-09 04:36:19
在web工程中使用了jacob进行word文档的一些操作。

try {
ComThread.InitMTA();
//do something
} catch (Exception e) {
ComThread.Release();
}

但是对于一些错误的文件,进行读取时会出现弹窗

导致项目直接卡死在该段代码,必须远程到服务器把弹窗关掉。
请问有什么好的处理方式来处理弹窗确认的问题。
...全文
4536 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jack Sparrow丶 2020-12-09
  • 打赏
  • 举报
回复
给个参考意见,这个应该是word的问题,程序没有问题,设置word->选项->信任中心->宏设置还是受保护视图(记不到哪个了。。)取消勾选试一下
夜雨~听风 2020-12-08
  • 打赏
  • 举报
回复
前辈们,,咋解决的?
JackSparrow414 2019-10-10
  • 打赏
  • 举报
回复
我们也碰到了这个问题,本来是想通过taskkill的方式杀掉挂掉的进程,不过这样好像也不行
li_012569 2019-02-18
  • 打赏
  • 举报
回复
请问楼主这个问题解决了吗?现在项目也碰到同样的问题,执行打开word的代码后会弹出一个框,提示“此文件中检测到错误,但Word可以通过进行以下修复来打开该文件……“
绝望的奶黄包 2018-02-09
  • 打赏
  • 举报
回复
补充一下,卡死的代码为打开word时的操作

Dispatch doc = Dispatch.call(documents, "Open", fileUrl).toDispatch();
java代码运行到这里打开word时会因为服务器上的一个确认弹窗,导致代码卡死在这里。 想通过jacob有获取到window的进程ID,然后超时后杀掉WINWORD.EXE进程。 现在的主要问题是如何获取到对应的WINWORD.EXE进程。
oO临时工Oo 2018-02-09
  • 打赏
  • 举报
回复
可以尝试换一个读取word的组件,例如poi。可以参考http://blog.csdn.net/tuzongxun/article/details/51992704
绝望的奶黄包 2018-02-08
  • 打赏
  • 举报
回复
感觉自己饭碗保不住了
绝望的奶黄包 2018-01-23
  • 打赏
  • 举报
回复
最新想通过文件路径查找WINWORD.EXE进程的命令行,快接近成功的时候又被无情击败了。 成功打开的word才会显示路径,出现弹窗的统一都是/Automation -Embedding
computerclass 2018-01-09
  • 打赏
  • 举报
回复
相关的语句没有对应的关闭语句

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧