AcroExch.PDDoc: ClearFlags メソッド

TOP > AcroExch.PDDoc > ClearFlags      [...]


説明

文書フラグをクリアします。

文書フラグはビット単位でクリアします。

但し、クリア出来ない場合や連鎖反応して他の文書フラグもクリアされる場合が有ります。

形式

VARIANT_BOOL ClearFlags(long nFlags);

引数

  1. 第一引数 (long nFlags):
    文書フラグの定数を指定する。
    PDDocWasRepaired, PDDocNewMajorVersion, PDDocNewMinorVersion, PDDocOldVersion 等。

戻り値

  • 戻り値は常に、-1 が返される。

動作するバージョン

VersionAdobe
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
10-Acrobat X (10.1.8) Extended
11-Acrobat XI (11.0.04) Extended
  • OK = 動作する。
  • NO = 動作しない。 戻り値が0を返す。
  • - = 未確認。

サンプル:Excel のVBA

説明: AcroPDDocオブジェクトを作成して、動作確認をする。

  • F8キーでステップ実行しながら動作確認する。
  • 事前に参照設定をする。
  • 以下のサンプルはAcrobatアプリケーションを画面表示しないで行っています。

 

 

001 Sub AcroExch_PDDoc_ClearFlags() 002 003 'Acrobatオブジェクトの定義&作成 004 'Acrobat 4,5,6 の時 005 ' Dim objAcroApp As Acrobat.CAcroApp 006 ' Dim objAcroAVDoc As Acrobat.CAcroAVDoc 007 ' Dim objAcroPDDoc As Acrobat.CAcroPDDoc 008 ' Set objAcroApp = CreateObject("AcroExch.App") 009 ' Set objAcroAVDoc = CreateObject("AcroExch.AVDoc") 010 011 'Acrobat 7,8,9,10,11 の時 012 Dim objAcroApp As New Acrobat.AcroApp 013 Dim objAcroAVDoc As New Acrobat.AcroAVDoc 014 Dim objAcroPDDoc As Acrobat.AcroPDDoc 015 016 '以降はAcrobat全て共通 017 Dim lRet As Long '戻り値 018 019 '①PDFファイルを開く。(メモリ上) 020 lRet = objAcroAVDoc.Open("C:\work\Test01.pdf", "") 021 '②Acrobatアプリケーションを起動し、画面表示する。 022 'lRet = objAcroApp.Show 023 024 'PDDocオブジェクトを取得する。 025 Set objAcroPDDoc = objAcroAVDoc.GetPDDoc() 026 'PDDocオブジェクトのGetFlagsメソッドの戻り値を表示する。 027 Debug.Print "AcroPDDoc.GetFlags(1)=" & objAcroPDDoc.GetFlags() 028 029 'ページ3から4を削除する 030 lRet = objAcroPDDoc.DeletePages(2, 3) 031 Debug.Print "AcroPDDoc.GetFlags(2)=" & objAcroPDDoc.GetFlags() 032 033 lRet = objAcroPDDoc.ClearFlags(PDDocOldVersion) 034 Debug.Print "AcroPDDoc.GetFlags(3)=" & objAcroPDDoc.GetFlags() 035 036 lRet = objAcroPDDoc.ClearFlags(PDDocNeedsSave) 037 Debug.Print "AcroPDDoc.GetFlags(4)=" & objAcroPDDoc.GetFlags() 038 039 lRet = objAcroPDDoc.ClearFlags(PDDocIsModified) 040 Debug.Print "AcroPDDoc.GetFlags(5)=" & objAcroPDDoc.GetFlags() 041 042 lRet = objAcroPDDoc.ClearFlags(PDDocOldVersion + _ 043 PDDocNeedsSave + _ 044 PDDocIsModified) 045 Debug.Print "AcroPDDoc.GetFlags(6)=" & objAcroPDDoc.GetFlags() 046 047 'PDFファイルを閉じます。 048 lRet = objAcroAVDoc.Close(1) 049 'PDDocオブジェクトのGetFlagsメソッドの戻り値を表示する。 050 '※以下のGetFlags()はAcrobat v4,v5,v6では実行エラーになる 051 Debug.Print "AcroPDDoc.GetFlags(9)=" & objAcroPDDoc.GetFlags() 052 053 'Acrobatアプリケーションを終了する。 054 'lRet = objAcroApp.Hide 055 lRet = objAcroApp.Exit 056 057 'オブジェクトを強制解放する 058 Set objAcroPDDoc = Nothing 059 Set objAcroAVDoc = Nothing 060 Set objAcroApp = Nothing 061 062 End Sub 063


 Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
 

実行結果

PDFファイル(Test01.pdf)のPDFバージョンは「1.3」を使用しました。

▼ Acrobat v4.0 の結果

※1029=1024+4+1

AcroPDDoc.GetFlags(1)=1024
AcroPDDoc.GetFlags(2)=1029
AcroPDDoc.GetFlags(3)=1029
AcroPDDoc.GetFlags(4)=1024
AcroPDDoc.GetFlags(5)=1024
AcroPDDoc.GetFlags(6)=1024

▼ Acrobat v5.0 の結果

※1152=1024+128
※1157=1024+128+4+1

AcroPDDoc.GetFlags(1)=1152
AcroPDDoc.GetFlags(2)=1157
AcroPDDoc.GetFlags(3)=1157
AcroPDDoc.GetFlags(4)=1152
AcroPDDoc.GetFlags(5)=1152
AcroPDDoc.GetFlags(6)=1152

▼ Acrobat v6.0 の結果

AcroPDDoc.GetFlags(1)=1152
AcroPDDoc.GetFlags(2)=1157
AcroPDDoc.GetFlags(3)=1157
AcroPDDoc.GetFlags(4)=1152
AcroPDDoc.GetFlags(5)=1152
AcroPDDoc.GetFlags(6)=1152

▼ Acrobat v7.0 の結果

AcroPDDoc.GetFlags(1)=1152
AcroPDDoc.GetFlags(2)=1157
AcroPDDoc.GetFlags(3)=1157
AcroPDDoc.GetFlags(4)=1152
AcroPDDoc.GetFlags(5)=1152
AcroPDDoc.GetFlags(6)=1152
AcroPDDoc.GetFlags(9)=0

▼ Acrobat v8.0 の結果

AcroPDDoc.GetFlags(1)=1152
AcroPDDoc.GetFlags(2)=1157
AcroPDDoc.GetFlags(3)=1157
AcroPDDoc.GetFlags(4)=1152
AcroPDDoc.GetFlags(5)=1152
AcroPDDoc.GetFlags(6)=1152
AcroPDDoc.GetFlags(9)=0

▼ Acrobat v9.0 の結果

AcroPDDoc.GetFlags(1)=1152
AcroPDDoc.GetFlags(2)=1157
AcroPDDoc.GetFlags(3)=1157
AcroPDDoc.GetFlags(4)=1152
AcroPDDoc.GetFlags(5)=1152
AcroPDDoc.GetFlags(6)=1152
AcroPDDoc.GetFlags(9)=0

補足

  • 第一引数の値は数値でも指定できるが、ミスをする可能性が有るので、定数を使用する。

注意

  • Acrobat v4.0 ~ Acrobat v6.0 ではCloseメソッドを実行した後にGetFlagsを実行するとOLEオートメーションの実行エラーになる。
    GetFlagsメソッド実行時の実行エラー
     
    実行時エラー'-2147417851 (80010105)':
    オートメーション エラーです。
    サーバーによる例外が返されました。
  • Acrobat v7.0 ~ Acrobat v9.0 ではCloseメソッドを実行した後にGetFlagsメソッドを実行すると、戻り値は「0」になる。
  • PDDocOldVersion(値:128)はクリア出来ません。
  • PDDocIsModified(値:4)をクリアすると、同時にPDDocNeedsSave(値:1)もクリアされます。
    この逆も発生します。

動作確認環境

  • 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.102.html

戻る

コメントを残す

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

CAPTCHA


★ 文章での質問は難しいですよネ。でも、早く解決して、家に帰りたい。


SAMURAI Plugin

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

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



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

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