我正在尝试使用Adobe蒸馏器将单词报告转换为PDF。其中一些word文件中包含宏,当打开文档时会显示弹出窗口,这会停止自动化过程。
我们尝试通过
禁用宏wordApplication.AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityForceDisable;
但现在应用程序不再触发Document Open
事件,其中实现了转换代码。在这种情况下,代码被写入,以确保仅在word加载文件后才进行转换。
还有其他方法可以禁用宏吗?或者任何其他方法,以便我可以禁用宏,并确保加载文件以启动转换过程。
答案 0 :(得分:1)
如果您正在禁用宏,则您打开的文档中不会运行任何代码,包括Document Open事件中的代码。毕竟那是一个“宏观”。没有办法在单个文档中运行某些宏而不运行其他文件。
为什么您在文档打开事件中进行转换过程?为什么不在打开文档的代码中执行此操作?
答案 1 :(得分:0)
如果我正确理解了这个问题,你可以做一个try ...catch...finally
声明。
您只需将开放代码放入try中,如果文件已打开,则将变量设置为true
,然后在if/then
语句中添加Finally
语句,以便文档被打开它将运行转换,如果文档没有打开,你可以返回一个消息,说明文档没有被转换并给出原因。你可能仍然需要在OP的情况下禁用宏。
我知道这是一篇非常古老的帖子,但如果他们遇到这篇文章寻求帮助,可能会给别人一些想法。