closures最后一个文档后closures应用程序(Acrobat,Word,Excel)

我有一些生成Word,Excel或PDF文档的function。 例如,我正在处理的是将报告导出到PDF文件。 closures报告后,它将打开使用LiveCycle ES 8.2创build的另一个PDF表单,并使用数据库中的数据填充该表单。 在此之后,文档被closures,但由于某种原因,Acrobat的实例仍然在前台打开,没有打开任何文档。

这里是代码:

DoCmd.OpenReport "myReport", acViewPreview DoCmd.OutputTo acOutputReport, "", acFormatPDF, "C:\myReport.pdf", False DoCmd.Close acReport, "myReport" Dim gApp, avDoc, pdDoc, jso Set gApp = CreateObject("AcroExch.app") Set avDoc = CreateObject("AcroExch.AVDoc") If avDoc.Open(exprPDF, "") Then Set pdDoc = avDoc.GetPDDoc() Set jso = pdDoc.GetJSObject '[...] pdDoc.Save PDSaveIncremental, FileNm 'Save changes to the PDF document pdDoc.Close 'Close the PDF document End If avDoc.Close (True) Set gApp = Nothing Set avDoc = Nothing 

myReport从不打开任何Acrobat实例。 avDoc.Open行。 当我做avDoc.close时,我想要closuresAcrobat。 有任何想法吗?

我想你应该加上:

 gApp.Exit 

之前

 Set gApp = Nothing 

这似乎做的勾号,但应用程序仍然存在,隐藏…实际上杀死Acrobat在这里试试这个方法与“Acrobat.exe”: 我怎样才能通过VBA代码杀死任务pipe理器进程? 这种方法是一个大锤,但它的作品。

经过一些testing后,我需要closures并退出所有文档对象,以确保应用程序退出,如果没有剩余的打开的文档。

我刚刚遇到同样的问题,发现以下解决scheme:

 AVDoc.Close (True) **AcroApp.Hide** Set AcroApp = Nothing Set AVDoc = Nothing