AcroExch.App: MenuItemIsEnabled メソッド

TOP > AcroExch.App > MenuItemIsEnabled      [...]


説明

Acrobatアプリケーションの指定されたメニュー項目が使用可能かをチェックする。

メニュー項目が存在するかのチェックでは無く、使用可能状態(=Enabled)になっているかをチェックする点に注意が必要です。

(例:ファイルメニューにある「印刷」はPDFドキュメントを開いて、セキュリティ上で印刷が許可されてないと灰色の状態で、選択(使用)出来ない。つまり使用可能状態(=Enabled)では無い事を意味する。)

 

形式

VARIANT_BOOL MenuItemIsEnabled(BSTR szMenuItemName);

 

引数

  1. 第1引数(BSTR szMenuItemName):
    Acrobatアプリケーションのメニュー項目を英文字で指定する。
    詳細は Menu and Toolbar Button Names 一覧 を参照。

 

戻り値

  • -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.1 Pro
9
OK
Acrobat 9.3.1 Extended
※レジストリに情報無し
10
-
Acrobat X (10.1.8) Extended
11
-
Acrobat XI (11.0.04) Extended
  • OK = 動作する。
  • NO = 動作しない。
  • - = 未確認。 

 
※レジストリに情報無し=[HKEY_LOCAL_MACHINE¥SOFTWARE¥Policies¥Adobe¥Adobe Acrobat¥8.0¥FeatureLockDown¥cDefaultExecMenuItems] 無し

 






サンプル:ExcelのVBA

説明:Acrobatアプリケーションで印刷が出来るかをチェックする。

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

 

Sub AcroExch_App_MenuItemIsEnabled()
On Error GoTo AcroExch_App_MenuItemIsEnabled_SKIP

    'Acrobatオブジェクトの定義&作成
    'Acrobat 4,5,6 の時
    Dim objAcroApp   As Acrobat.CAcroApp
    Dim objAcroPDDoc As Acrobat.CAcroPDDoc
    Dim objAcroAVDoc As Acrobat.CAcroAVDoc
    
    Set objAcroApp = CreateObject("AcroExch.App")
    Set objAcroPDDoc = CreateObject("AcroExch.PDDoc")
    Set objAcroAVDoc = CreateObject("AcroExch.AVDoc")
    
    'Acrobat 7,8,9,.10,11 の時
'    Dim objAcroApp   As New Acrobat.AcroApp
'    Dim objAcroPDDoc As New Acrobat.AcroPDDoc
'    Dim objAcroAVDoc As New Acrobat.AcroAVDoc

    '以降はAcrobat全て共通
    Dim lRet    As Long '戻り値
    Const CON_PDF_FILE = "C:¥work¥Test01.pdf"
    
    lRet = objAcroApp.Show
    lRet = objAcroPDDoc.Open(CON_PDF_FILE)
    objAcroPDDoc.OpenAVDoc CON_PDF_FILE
    lRet = objAcroApp.MenuItemIsEnabled("Print")
    
    'PDFファイルを変更無しで閉じます。※TEST用
    lRet = objAcroAVDoc.Close(1)
    'アプリケーションの終了
    lRet = objAcroApp.Hide
    lRet = objAcroApp.Exit

AcroExch_App_MenuItemIsEnabled_SKIP:
    'オブジェクトの強制開放
    Set objAcroAVDoc = Nothing
    Set objAcroPDDoc = Nothing
    Set objAcroApp = Nothing
End Sub

 

補足

  • 第一引数はレジストリにある HKEY_LOCAL_MACHINE¥SOFTWARE¥Policies¥Adobe¥Adobe Acrobat¥8.0¥FeatureLockDown¥cDefaultExecMenuItems¥tWhiteList にある文字列を指定する。
    MenuItemIsEnabledメソッドで実行できるメニュー項目」を参照。
    注意:↑上記は管理人が勝手に判断(想像)した解釈です。
  • 引数はメニュー項目の名前を指定します。
    例:PageSetup,Print,NewBookMark,Edit,SelectAll,Copy、Open、SaveAs etc.
    参照:このメニュー項目に関しては
    Acrobat:Menu and Toolbar Button Names 一覧」も見て下さい。
  • このメソッドはメニュー項目を使う前に使用可能かを事前にチェックするのに使う。
  • 上記VBAサンプルの場合はPDFファイルを開いているのでTrueが戻り値になる。
    何もPDFファイルが開いてない時はFalseが戻り値になる。
  • lRet = objAcroApp.MenuItemIsEnabled("NextPage")
    上記ステートメントは次ページが使用可能状態になっているかをチェックします。
    最終ページで実行するとFalseが戻り値になる。

 

作確認環境

  • Windows98SE( + WindowsUpdate) +
    Acrobat 4.0 + Office 2000
  • WindowsXP Pro( + SP3 + WindowsUpdate) +
    Acrobat 5.0.5  + Office 2003
  • WindowsXP Pro( + SP3 + WindowsUpdate) +
    Acrobat 6.0.3 Pro + Office 2003
  • 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.1 Pro + Office 2003( + SP3)
  • WindowsXP Pro( + SP3 + WindowsUpdate) +
    Acrobat 9.3.1 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.20.html

 

戻る


キーボード

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

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

Shortcut Keys

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

コメントを残す

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

CAPTCHA


出来るだけ早く返答する様には心がけています。
が、遅くなる時もありますのでご了承ください。


SAMURAI Plugin

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

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン
コメントにサンプルコードを入れるとエラーになる場合が有ります。その時はコードの前後に <code> ・・・</code> タグを入れてください。

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