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(偽)で失敗した。 

動作するバージョン

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.1 Pro
9OKAcrobat 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キーでステップ実行して動作確認します。
001 Sub AcroExch_App_MenuItemIsEnabled() 002 On Error GoTo AcroExch_App_MenuItemIsEnabled_SKIP 003 004 'Acrobatオブジェクトの定義&作成 005 'Acrobat 4,5,6 の時 006 Dim objAcroApp As Acrobat.CAcroApp 007 Dim objAcroPDDoc As Acrobat.CAcroPDDoc 008 Dim objAcroAVDoc As Acrobat.CAcroAVDoc 009 010 Set objAcroApp = CreateObject("AcroExch.App") 011 Set objAcroPDDoc = CreateObject("AcroExch.PDDoc") 012 Set objAcroAVDoc = CreateObject("AcroExch.AVDoc") 013 014 'Acrobat 7,8,9,.10,11 の時 015 ' Dim objAcroApp As New Acrobat.AcroApp 016 ' Dim objAcroPDDoc As New Acrobat.AcroPDDoc 017 ' Dim objAcroAVDoc As New Acrobat.AcroAVDoc 018 019 '以降はAcrobat全て共通 020 Dim lRet As Long '戻り値 021 Const CON_PDF_FILE = "C:\work\Test01.pdf" 022 023 lRet = objAcroApp.Show 024 lRet = objAcroPDDoc.Open(CON_PDF_FILE) 025 objAcroPDDoc.OpenAVDoc CON_PDF_FILE 026 lRet = objAcroApp.MenuItemIsEnabled("Print") 027 028 'PDFファイルを変更無しで閉じます。※TEST用 029 lRet = objAcroAVDoc.Close(1) 030 'アプリケーションの終了 031 lRet = objAcroApp.Hide 032 lRet = objAcroApp.Exit 033 034 AcroExch_App_MenuItemIsEnabled_SKIP: 035 'オブジェクトの強制開放 036 Set objAcroAVDoc = Nothing 037 Set objAcroPDDoc = Nothing 038 Set objAcroApp = Nothing 039 End Sub


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

補足

  • 第一引数はレジストリにある 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等) バージョン
コメントにサンプルコードを入れる時はコードを全て全角文字列にしてください。コチラで半角に戻します。それでもエラーが回避できない時はコメント下さい。個別に対処します。



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

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