TOP > AcroExch.App > MenuItemIsEnabled [...]
説明
Acrobatアプリケーションの指定されたメニュー項目が使用可能かをチェックする。
メニュー項目が存在するかのチェックでは無く、使用可能状態(=Enabled)になっているかをチェックする点に注意が必要です。
(例:ファイルメニューにある「印刷」はPDFドキュメントを開いて、セキュリティ上で印刷が許可されてないと灰色の状態で、選択(使用)出来ない。つまり使用可能状態(=Enabled)では無い事を意味する。)
形式
VARIANT_BOOL MenuItemIsEnabled(BSTR szMenuItemName);
引数
- 第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キーでステップ実行して動作確認します。
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
< 戻る >
ブラウザ画面の文字サイズを変更するショートカットキー
|