AcroExch.App: MenuItemExecute メソッド

TOP > AcroExch.App > MenuItemExecute      [...]


説明

Acrobatアプリケーションのメニュー項目を実行します。

但し、そのメニュー項目が実行可能状態(=Enabled)に成っている必要があります。

 

形式

VARIANT_BOOL MenuItemExecute(BSTR szMenuItemName);

 

引数

  1. 第1引数(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 = 動作しない。
  • - = 未確認。

 






サンプル:ExcelのVBA

説明:PDFファイルを開いて、印刷ダイアログボックスを画面表示する。

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

 

Sub AcroExch_App_MenuItemExecute()
On Error GoTo AcroExch_App_MenuItemExecute_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")
    If lRet = True Then
        '実行可能です
        lRet = objAcroApp.MenuItemExecute("Print")
        '印刷ダイアログを閉じるまで次のステートメントは
        '実行されない。
    End If

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

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

 

補足

  • 引数はメニュー項目の名前を指定します。
    例:PageSetup,Print,NewBookMark,Edit,SelectAll,Copy,Open,SaveAs etc.
  • AcroExch.App:MenuItemIsEnabled メソッド」で実行可能をチェックする必要があります。
  • MenuItemIsEnabledメソッドで実行できるメニュー項目」も参照。
  • このサンプルの実行結果で以下の画面が表示される。
    注意:画面表示だけです。印刷はしません。
    印刷ダイアログ(Print)
  • このメソッドはAcrobatのFAQ「技術上の制約やライセンス上の制約」で問題点に上がっている。
    使用するには再確認が必要です。

    「Developer FAQ / Acrobat Developer support / Adobe Acrobat 8.0 SDK」Acro_faq.pdf 12頁より。
  • 以下は実行OK ※Acrobat v8.2.1
    "NewBookmark":しおり作成、"Web2PDF:OpnURL":WEBぺーじからPDFを作成、”SAVEAS” 、”Scan”
  • 以下は実行不可 ※Acrobat v8.2.1
    ”Highlight” 、”DigSig:ToolsDiff ”、”Hilite”、”highlights”、”highlighted”

 

動作確認環境

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

 

戻る


キーボード

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

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

Shortcut Keys

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

「AcroExch.App: MenuItemExecute メソッド」への3件のフィードバック

  1. いつも、参考にさせていただいています。
    あまりに初歩的な質問で恐縮ですが、MenuItemExecute (Web2PDF:OpenURL)を使ったサンプルファイルを作ってください。
    URLからPDFを作成し、保存したいだけなのですが、なかなか、うまく動きません。 lRet = objAcroApp.MenuItemIsEnabled("Web2PDF") で、TRUEすら返ってこない状況です。よろしくお願いいたします。

  2. 倉崎さんへ。

    MenuItemIsEnabled("Web2PDF")  
    MenuItemExecute (Web2PDF:OpenURL)
    では無く
    MenuItemIsEnabled("Web2PDF:OpnURL")
    MenuItemExecute("Web2PDF:OpnURL")
    が正解です。

    OpenURL は間違いで OpnURL が正解です。 e は入りません。
    メニュー項目名はパンチせず、該当ページからコピーして下さい。

    それと
    >・・URLからPDFを作成し、保存したいだけ・・
    「だけ」とは言っても人間の言う事をPCにやらせるのは大変な事です。
    上記のMenuItemExecuteメソッドだけを実行してもURLをPDF化することは出来ません。
    PDF化する為のダイアログ画面を表示する「だけ」です。

    ただ、ヒントは有ります。
    Acrobat のアクション、バッチ処理を実行する (Acrobat 6~10)
    これと同じ手法を使えば出来ます。(タブン)
    ですが、作成にはかなりの時間を要するでしょう。
    上記の手法を使えるようになるまで1週間以上は掛かりました。

    >サンプルファイルを作ってください。
    1つのメニューに対するサンプルは量的に無理です。

  3. アドバイス、ありがとうございました。
    いろいろと、試してみます。
    また、よろしくお願いいたします。

コメントを残す

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

CAPTCHA


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


SAMURAI Plugin

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

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.