2

Word、Excel、または PDF ドキュメントを生成する関数がいくつかあります。たとえば、私が取り組んでいるのは、レポートを PDF ファイルにエクスポートすることです。レポートを閉じると、LiveCycle ES 8.2 で作成された別の PDF フォームが開き、データベースからのデータが入力されます。この後、ドキュメントは閉じられますが、何らかの理由で、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はそうです。その際、Acrobat を閉じてくださいavDoc.close。何か案は?

4

3 に答える 3

0

同じ問題が発生したばかりで、次の解決策が見つかりました。

AVDoc.Close (True)
**AcroApp.Hide**

Set AcroApp = Nothing
Set AVDoc = Nothing
于 2013-06-04T07:14:07.527 に答える
0

さらにいくつかのテストを行った後、開いているドキュメントが残っていない場合にアプリが終了するように、すべてのドキュメント オブジェクトを閉じて終了する必要があります。

于 2012-12-06T14:01:03.243 に答える