AcroExch.App: CloseAllDocsメソッド

TOP > AcroExch.App > CloseAllDocs      [...]


説明

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

 

形式

VARIANT_BOOL CloseAllDocs();

 

戻り値

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

 

動作するバージョン

Version Adobe
Acrobat
備考
4
OK
Acrobat 4.0   ※Windows 98SE + Excel 2000
5
OK

Acrobat 5.0.5
6
OK

Acrobat 6.0.3 Pro
7
OK
Acrobat 7.0.9 Pro
Acrobat 7.1.4 Pro
8
OK
Acrobat 8.2.2 Pro
9
OK
Acrobat 9.3.2 Extended
10
-
Acrobat X (10.1.8) Extended
11
-
Acrobat XI (11.0.04) Extended
  • OK = 動作する。
  • NO = 動作しない。
  • - = 未確認。 環境とテスト時間が出来次第、結果を入力します。

 






サンプル:ExcelのVBA

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

  • 参照設定を事前に行う。
  • 以下のサンプルはテスト用です。F8キーでステップ実行して動作確認します。

 

Sub AcroExch_App_CloseAllDocs()

    'Acrobatオブジェクトの定義&作成
'    Acrobat 4,5,6の時
'    Dim objAcroApp    As Acrobat.CAcroApp
'    Dim objAcroPDDoc1 As Acrobat.CAcroPDDoc
'    Dim objAcroPDDoc2 As Acrobat.CAcroPDDoc
'
'    Set objAcroApp    = CreateObject("AcroExch.App")
'    Set objAcroPDDoc1 = CreateObject(“AcroExch.PDDoc”)
'    Set objAcroPDDoc2 = CreateObject(“AcroExch.PDDoc”)
'   Acrobat 7,8,9,10,11 の時
    Dim objAcroApp As New Acrobat.AcroApp
    Dim objAcroPDDoc1 As New Acrobat.AcroPDDoc
    Dim objAcroPDDoc2 As New Acrobat.AcroPDDoc
    
    '以降はAcrobat全て共通
    Dim lRet        As Long '戻り値

    'Acrobatを起動する
    lRet = objAcroApp.Show
    'PDFドキュメントを開く
    lRet = objAcroPDDoc1.Open("C:¥work¥Test01.pdf")
    lRet = objAcroPDDoc2.Open("C:¥work¥Test02.pdf")
    'PDFドキュメントを画面表示する
    objAcroPDDoc1.OpenAVDoc "C:¥work¥Test01.pdf"
    objAcroPDDoc2.OpenAVDoc "C:¥work¥Test02.pdf"

    '・・・・・
    lRet = objAcroApp.CloseAllDocs
    'アプリケーションの終了
    lRet = objAcroApp.Hide
    lRet = objAcroApp.Exit

    'オブジェクトの強制開放
    Set objAcroPDDoc1 = Nothing
    Set objAcroPDDoc2 = Nothing
    Set objAcroApp = Nothing

End Sub

 

補足

  • Acrobatアプリケーション自体は終了しない。
    開いたPDFドキュメントを全て閉じるだけです。
    タスクマネージャーを起動して見るとメモリ上にプロセスは残る。
  • 最後の「Set オブジェクト = Nothing」は安全性の為に行います。
  • 上記サンプルはShowメソッドを使っていないので、アプリケーションを終了させる「Hide」と「Exit」のメソッドの実行は必要ありません。但し、安全性の為に最後に「Set objAcroAPP = Nothing」を実行します。

 

注意

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

 

動作確認環境

  • 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)

 

Adobe Web 解説 URL(英語) v9.1

http://livedocs.adobe.com/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/IAC_API_OLE_Objects.103.4.html

 

戻る


 

キーボード

ブラウザ画面の文字サイズを変更するショートカットキー

  1. [ CTRL ] + [ + ]  :  文字を大きく
  2. [ CTRL ] + [ - ]  :  文字を小さく

Shortcut Keys

  1. [ CTRL ] + [ + ]  :  Up the font size
  2. [ CTRL ] + [ - ]  :  Down the font size

VBA(Excel)からAcrobat経由でPDFをプログラミング操作(OLE:IAC)する