AcroExch.App: MenuItemRemove メソッド

TOP > AcroExch.App > MenuItemRemove      [...]


説明

Acrobatアプリケーションの指定されたメニュー項目を一時的に削除します。

よって手動でAcrobatからのメニュー操作は出来なくなります。

但しAcrobatアプリケーションを(正常)終了すると一時的に削除されたメニュー項目は元に戻ります。

注意:当メソッドの逆操作するメソッドは存在しません。(見当たりません)

 

形式

VARIANT_BOOL MenuItemRemove(BSTR szMenuItemName);

 

引数

  1. 第1引数(BSTR szMenuItemName):
    Acrobatアプリケーションのメニュー項目を英文字で指定する。

 

戻り値

  • -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.2 Pro
9
OK
Acrobat 9.3.2 Extended
10
-
Acrobat X (10.1.8) Extended
11
-
Acrobat XI (11.0.04) Extended
  • OK = 動作する。
  • NO = 動作しない。
  • - = 未確認。

 






 

サンプル:ExcelのVBA

説明:Acrobatアプリケーションで主なメニュー項目を全て一時的に削除する。

  • 参照設定を事前に行う。
  • 以下のサンプルはテスト用です。
    F8キーでステップ実行して動作確認します。
  • IRetに「ウォッチ式の追加」で「式の内容が変化した時に中断」にしておくと、以下のサンプルはテストがしやすい。
  • 以下のテストで使用したメニューの項目名はAcrobat v8.0 SDKから得たものです。

 

 Sub AcroExch_App_MenuItemRemove()

    '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.MenuItemRemove("Open")            'lRet = -1
    lRet = objAcroApp.MenuItemRemove("NewDocFromFile"'lRet = -1
    lRet = objAcroApp.MenuItemRemove("NewDocFromMultiple")
    lRet = objAcroApp.MenuItemRemove("Scan")            'lRet = -1
    lRet = objAcroApp.MenuItemRemove("OpnURL")
    lRet = objAcroApp.MenuItemRemove("ImageConversion")
    lRet = objAcroApp.MenuItemRemove("OpenOrganizer")   'lRet = -1
    lRet = objAcroApp.MenuItemRemove("AddToOrganizer"'lRet = -1
    lRet = objAcroApp.MenuItemRemove("OrganizerFavorites") 'lRet = -1
    lRet = objAcroApp.MenuItemRemove("SendMail")
    lRet = objAcroApp.MenuItemRemove("endSendGroup")    'lRet = -1
    lRet = objAcroApp.MenuItemRemove("Close")           'lRet = -1
    lRet = objAcroApp.MenuItemRemove("Save")            'lRet = -1
    lRet = objAcroApp.MenuItemRemove("SaveAs")          'lRet = -1
    lRet = objAcroApp.MenuItemRemove("SaveAndAuthenticate")
    lRet = objAcroApp.MenuItemRemove("Revert")          'lRet = -1
    lRet = objAcroApp.MenuItemRemove("endSaveGroup")    'lRet = -1
    lRet = objAcroApp.MenuItemRemove("ReduceFileSize"'lRet = -1
    lRet = objAcroApp.MenuItemRemove("endOptimizeGroup") 'lRet = -1
    lRet = objAcroApp.MenuItemRemove("SendForReviewMenu")
    lRet = objAcroApp.MenuItemRemove("SendForReview")
    lRet = objAcroApp.MenuItemRemove("BrowserBasedReview")
    lRet = objAcroApp.MenuItemRemove("Separator")       'lRet = -1
    lRet = objAcroApp.MenuItemRemove("File_FormData")
    lRet = objAcroApp.MenuItemRemove("FormData_CollectData")
    lRet = objAcroApp.MenuItemRemove("FormData_CreateSpreadsheet")
    lRet = objAcroApp.MenuItemRemove("FormData_ImportData")
    lRet = objAcroApp.MenuItemRemove("FormData_ExportData")
    lRet = objAcroApp.MenuItemRemove("Separator")       'lRet = -1
    lRet = objAcroApp.MenuItemRemove("FormData_HowTo")
    lRet = objAcroApp.MenuItemRemove("endFormDataGroup") 'lRet = -1
    lRet = objAcroApp.MenuItemRemove("GeneralInfo")     'lRet = -1
    lRet = objAcroApp.MenuItemRemove("endDocInfoGroup") 'lRet = -1
    lRet = objAcroApp.MenuItemRemove("PageSetup")       'lRet = -1
    lRet = objAcroApp.MenuItemRemove("Print")           'lRet = -1
    lRet = objAcroApp.MenuItemRemove("PrintWithComments")
    lRet = objAcroApp.MenuItemRemove("EFIPrintMe")
    lRet = objAcroApp.MenuItemRemove("endPrintGroup")   'lRet = -1
    lRet = objAcroApp.MenuItemRemove("OrganizerHistory") 'lRet = -1
    lRet = objAcroApp.MenuItemRemove("Separator")       'lRet = -1
    lRet = objAcroApp.MenuItemRemove("OpenOrganizer")
    lRet = objAcroApp.MenuItemRemove("RecentFile1")     'lRet = -1
    lRet = objAcroApp.MenuItemRemove("RecentFile2")
    lRet = objAcroApp.MenuItemRemove("RecentFile3")
    lRet = objAcroApp.MenuItemRemove("RecentFile4")
    lRet = objAcroApp.MenuItemRemove("RecentFile5")
    lRet = objAcroApp.MenuItemRemove("endRecentFileGroup") 'lRet = -1
    lRet = objAcroApp.MenuItemRemove("Quit")            'lRet = -1
    
    '念の為にアプリケーションの全ツールバーの項目名を指定してみる
    lRet = objAcroApp.MenuItemRemove("Open")
    lRet = objAcroApp.MenuItemRemove("OpStatTlButton")
    lRet = objAcroApp.MenuItemRemove("Save")
    lRet = objAcroApp.MenuItemRemove("SaveFileAs")
    lRet = objAcroApp.MenuItemRemove("Print") '-1
    lRet = objAcroApp.MenuItemRemove("AddToOrganizer")
    lRet = objAcroApp.MenuItemRemove("Organizer") '-1
    lRet = objAcroApp.MenuItemRemove("AddAttachments")
    lRet = objAcroApp.MenuItemRemove("FileAttachment")
    lRet = objAcroApp.MenuItemRemove("SendMail")
    lRet = objAcroApp.MenuItemRemove("FindDialog")
    lRet = objAcroApp.MenuItemRemove("endDialogGroup")
    lRet = objAcroApp.MenuItemRemove("NewDocumentTask") 'lRet = -1
    lRet = objAcroApp.MenuItemRemove("CommentTask")     'lRet = -1
    lRet = objAcroApp.MenuItemRemove("Initiate")
    lRet = objAcroApp.MenuItemRemove("SecureTask")      'lRet = -1
    lRet = objAcroApp.MenuItemRemove("SignTask")        'lRet = -1
    lRet = objAcroApp.MenuItemRemove("FormTasks")
    lRet = objAcroApp.MenuItemRemove("Hand")
    lRet = objAcroApp.MenuItemRemove("Select")
    lRet = objAcroApp.MenuItemRemove("SelectGraphics")
    lRet = objAcroApp.MenuItemRemove("endSelectToolsGroup")
    lRet = objAcroApp.MenuItemRemove("ZoomIn")
    lRet = objAcroApp.MenuItemRemove("ZoomOut")
    lRet = objAcroApp.MenuItemRemove("ZoomDrag")
    lRet = objAcroApp.MenuItemRemove("Loupe")
    lRet = objAcroApp.MenuItemRemove("Zoom100")
    lRet = objAcroApp.MenuItemRemove("FitPage")         'lRet = -1
    lRet = objAcroApp.MenuItemRemove("FitVisible")      'lRet = -1
    lRet = objAcroApp.MenuItemRemove("ZoomViewOut")     'lRet = -1
    lRet = objAcroApp.MenuItemRemove("ZoomTo")          'lRet = -1
    lRet = objAcroApp.MenuItemRemove("ZoomViewIn")      'lRet = -1
    lRet = objAcroApp.MenuItemRemove("RotateCW")        'lRet = -1
    lRet = objAcroApp.MenuItemRemove("RotateCCW")       'lRet = -1
    lRet = objAcroApp.MenuItemRemove("endRotateViewGroup")
    lRet = objAcroApp.MenuItemRemove("HowTo")
    lRet = objAcroApp.MenuItemRemove("FindEdit")
    lRet = objAcroApp.MenuItemRemove("WebSearchView")
    lRet = objAcroApp.MenuItemRemove("Text")
    lRet = objAcroApp.MenuItemRemove("TextEdits")
    lRet = objAcroApp.MenuItemRemove("Stamp")
    lRet = objAcroApp.MenuItemRemove("Highlight")
    lRet = objAcroApp.MenuItemRemove("Underline")
    lRet = objAcroApp.MenuItemRemove("StrikeOut")
    lRet = objAcroApp.MenuItemRemove("FileAttachmentReal")
    lRet = objAcroApp.MenuItemRemove("Sound")
    lRet = objAcroApp.MenuItemRemove("Separator")       'lRet = -1
    lRet = objAcroApp.MenuItemRemove("Filter")
    
    'PDFドキュメントを閉じる ※必須
    lRet = objAcroApp.CloseAllDocs  'lRet = -1
    'アプリケーションの終了
    lRet = objAcroApp.Hide  'lRet = -1
    lRet = objAcroApp.Exit  'lRet = 0
    
    'オブジェクトの強制開放
    Set objAcroAVDoc = Nothing
    Set objAcroPDDoc = Nothing
    Set objAcroApp = Nothing
End Sub

 

テスト結果

  • AcrobatアプリケーションでPDFドキュメントを開いた直後のファイル・メニューの内容。 「印刷(P)」、「終了(X)」等に注目。
     MenuItemRemove メソッドの実行前
  • MenuItemRemove メソッドを全て実行して、Acrobatアプリケーションを終了する前のファイル・メニューの内容。
     MenuItemRemove メソッドの実行後
    但し、Acrobatアプリケーションを終了すると元に戻ります。

 

補足

  • メニュー項目のみ操作します。
  • メニュー項目を復元するメソッドは見当たりません。
  • Acrobatアプリケーションが稼働中の場合のみ当メソッドは一時的に有効となります。
    Acrobatアプリケーションが終了すると無効になります。 
  • 引数はメニュー項目の(言語に依存しない英語の)名前を指定します。 
  • メニュー項目名がどのメニューに相当するかのSDK資料が無いので、テストして調べるしか手は無いです。
    ※ 誰か、お時間のある方、テスト結果を頂けませんか?

 

動作確認環境

  • 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.2 Pro + Office 2003( + SP3)
  • WindowsXP Pro( + SP3 + WindowsUpdate) +
    Acrobat 9.3.2 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.22.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> タグを入れてください。

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