AcroExch.App: CloseAllDocsメソッド

TOP > AcroExch.App > *


説明

開いている全てのPDFファイルを閉じる。

形式

VARIANT_BOOL CloseAllDocs();

戻り値

  • -1 : True(真)で成功した
  • 0 : False(偽)で失敗した    

動作するバージョン

Acrobat動作備考
4OKAcrobat 4.0   ※Windows 98SE + Excel 2000
5
OK
Acrobat 5.0.5
6
OK
Acrobat 6.0.3 Pro
7OKAcrobat 7.0.9 Pro
Acrobat 7.1.4 Pro
8OKAcrobat 8.2.2 Pro
9OKAcrobat 9.3.2 Extended
10Acrobat X (10.1.8) Extended
11Acrobat XI (11.0.04) Extended
  • OK:動作します。
  • NO:動作しない。
  • ―:未確認。

サンプル:ExcelのVBA

開いている全てのPDFドキュメント(Test01.pdf、Test02.pdf)を閉じます。

  • 参照設定を事前に行ないます。
  • 以下のサンプルはテスト用です。F8キーでステップ実行して動作確認します。
001 Sub AcroExch_App_CloseAllDocs() 002 003 'Acrobatオブジェクトの定義&作成 004 ' Acrobat 4,5,6の時 005 ' Dim objAcroApp As Acrobat.CAcroApp 006 ' Dim objAcroPDDoc1 As Acrobat.CAcroPDDoc 007 ' Dim objAcroPDDoc2 As Acrobat.CAcroPDDoc 008 ' 009 ' Set objAcroApp = CreateObject("AcroExch.App") 010 ' Set objAcroPDDoc1 = CreateObject(“AcroExch.PDDoc”) 011 ' Set objAcroPDDoc2 = CreateObject(“AcroExch.PDDoc”) 012 ' Acrobat 7,8,9,10,11 の時 013 Dim objAcroApp As New Acrobat.AcroApp 014 Dim objAcroPDDoc1 As New Acrobat.AcroPDDoc 015 Dim objAcroPDDoc2 As New Acrobat.AcroPDDoc 016 017 '以降はAcrobat全て共通 018 Dim lRet As Long '戻り値 019 020 'Acrobatを起動する 021 lRet = objAcroApp.Show 022 'PDFドキュメントを開く 023 lRet = objAcroPDDoc1.Open("C:\work\Test01.pdf") 024 lRet = objAcroPDDoc2.Open("C:\work\Test02.pdf") 025 'PDFドキュメントを画面表示する 026 objAcroPDDoc1.OpenAVDoc "C:\work\Test01.pdf" 027 objAcroPDDoc2.OpenAVDoc "C:\work\Test02.pdf" 028 029 '・・・・・ 030 lRet = objAcroApp.CloseAllDocs 031 'アプリケーションの終了 032 lRet = objAcroApp.Hide 033 lRet = objAcroApp.Exit 034 035 'オブジェクトの強制開放 036 Set objAcroPDDoc1 = Nothing 037 Set objAcroPDDoc2 = Nothing 038 Set objAcroApp = Nothing 039 040 End Sub

 

 

補足

  • Acrobatアプリケーション自体は終了しない。開いたPDFドキュメントを全て閉じるだけです。

注意

  1. 上記VBAサンプルでは発生しませんが、CloseAllDocsメソッドを実行する前に、開いているPDFドキュメントを変更すると以下の警告メッセージがAcrobatアプリケーション画面に表示されます。
    このダイアログメッセージにマウス・クリック操作をしないとCloseAllDocsメソッドの次の命令の実行には行きません。
    CloseAllDocsメソッド実行時の警告メッセージ
    閉じる前に、「C:¥work¥Test01.pdf」への変更を保存しますか?
  2. 更に上記ダイアログ・メッセージに1分以上応答しないと以下の警告メッセージが、Excel 側で画面表示されます。
    この警告ダイアログメッセージは上記ダイアログメッセージに応対しない限り、何度でも表示されます。
    CloseAllDocsメソッド実行時のVBA側の警告メッセージ
    別のプログラムで OLE の操作が完了するまで待機を続けます。

Adobe Web 解説

OLE Automation / AcroExch.App / CloseAllDocs (公式サイト・英語)

動作確認環境

  • Windows98SE( + WindowsUpdate) +
    Acrobat 4.0 + Office 2000
  • WindowsXP Pro( + SP3 + WindowsUpdate) +
    Acrobat 5.0.5  + Office 2003( + SP3)
  • WindowsXP Pro( + SP3 + WindowsUpdate) +
    Acrobat 6.0.3 Pro + Office 2003( + SP3)
  • WindowsXP Pro( + SP2 + WindowsUpdate) +
    Acrobat 7.0.9 Pro + Office 2003
  • WindowsXP Pro( + SP3 + WindowsUpdate) +
    Acrobat 7.1.4 Pro + Office 2003( + SP3)
  • WindowsXP Pro( + SP3 + WindowsUpdate) +
    Acrobat 8.2.2 Pro + Office 2003( + SP3)
  • WindowsXP Pro( + SP3 + WindowsUpdate) +
    Acrobat 9.3.2 Extended + Office 2003( + SP3)

戻る


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA



SAMURAI Plugin

コメントをする時は出来れば以下もお願いします。

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン
コメントにサンプルコードを入れる時はコードを全て全角文字列にしてください。コチラで半角に戻します。それでもエラーが回避できない時はコメント下さい。個別に対処します。



お仕事で当サイトを見ている方へ
考え込んだら、ご質問下さい。
一緒に解決策を考えましょう。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください