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

動作するバージョン

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 = 動作しない。
  • - = 未確認。

サンプル:ExcelのVBA

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

  • 参照設定を事前に行う。
  • 以下のサンプルはテスト用です。
    F8キーでステップ実行して動作確認します。
001 Sub AcroExch_App_MenuItemExecute() 002 On Error GoTo AcroExch_App_MenuItemExecute_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 015 016 'Acrobat 7,8,9,10,11 の時 017 Dim objAcroApp As New Acrobat.AcroApp 018 Dim objAcroPDDoc As New Acrobat.AcroPDDoc 019 Dim objAcroAVDoc As New Acrobat.AcroAVDoc 020 021 '以降はAcrobat全て共通 022 Dim lRet As Long '戻り値 023 Const CON_PDF_FILE = "C:\work\Test01.pdf" 024 025 lRet = objAcroApp.Show 026 lRet = objAcroPDDoc.Open(CON_PDF_FILE) 027 objAcroPDDoc.OpenAVDoc CON_PDF_FILE 028 '[印刷]メニューが有るか(使えるか)チェックする 029 lRet = objAcroApp.MenuItemIsEnabled("Print") 030 If lRet = True Then 031 '実行可能です 032 lRet = objAcroApp.MenuItemExecute("Print") 033 '印刷ダイアログを閉じるまで次のステートメントは 034 '実行されない。 035 End If 036 037 lRet = objAcroApp.CloseAllDocs 038 'アプリケーションの終了 039 lRet = objAcroApp.Hide 040 lRet = objAcroApp.Exit 041 042 AcroExch_App_MenuItemExecute_SKIP: 043 'オブジェクトの強制開放 044 Set objAcroAVDoc = Nothing 045 Set objAcroPDDoc = Nothing 046 Set objAcroApp = Nothing 047 End Sub


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

 

 

補足

  • 引数はメニュー項目の名前を指定します。
    例: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 メソッド」への6件のフィードバック

  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. アドバイス、ありがとうございました。
    いろいろと、試してみます。
    また、よろしくお願いいたします。

  4. はじめまして、いつも参考にさせていただいております。

    ExcelVBAでPDFファイルの操作を行うプログラムを作っているのですが、
    引数にPageSetUpを使うことで、PDFファイルの用紙サイズを変更することは可能でしょうか。
    行いたい処理としては、
    既存PDFファイルの用紙サイズをA4からA3へ変更し、別名で保存(もしくは上書き保存)する、となります。

    ExcelもしくはWordファイルをPDF変換する際に用紙サイズ設定を行うことは出来ているのですが、
    既存のPDFファイルの用紙サイズの変更が色々と調べているのですが良い方法が見つからずにおります。

    突然で申し訳ありませんが、どうぞよろしくお願いいたします。

  5. Eby さん はじめまして。

    イロイロと検証してみましたが、ご希望の内容は当サイトには存在しません。PageSetUpでも無理です。残念ですが。

  6. ご回答ありがとうございます、またお手数をおかけして申し訳ありません。
    やはり難しいということがわかっただけでも質問させていただいて良かったです。
    今後も参考にさせていただきます、ありがとうございました。

コメントを残す

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

CAPTCHA



SAMURAI Plugin

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

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



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

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