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
。何か案は?