「ファイル」、「挿入」、「ヘルプ」のアドイン・メニューのカスタマイズ

IBM FileNet P8 Application Integration は、Microsoft® Outlook、Word、Excel、PowerPoint の「ファイル」、「挿入」、および「ヘルプ」ポップアップ・メニューのカスタマイズをサポートしています。Application Integration は COM アドインを利用して、カスタム・アドイン・メニューを追加することでこれらのアプリケーションを拡張します。開発者は用意された XML ファイルを使用することで、これらのカスタム・メニューに変更を加えることができます。XML ファイルには、Application Integration が Microsoft アプリケーションのメニュー内容を構成する際に使用する情報が含まれています。

Application Integration がインストールされたら、開発者は XML ファイルの内容を手動で変更して、アプリケーション要件に合わせてアドイン・メニューをカスタマイズすることができます。カスタマイズした XML ファイルを組織内の他のシステムにコピーすると、特定のユーザーやユーザー・クラスを対象に、アプリケーション環境と機能の可用性を制御することができます。特定のアプリケーションに対して新たに変更が必要になった場合は、対応する XML ファイルを更新し、該当するシステムに再度コピーすることができます。

以下のセクションで、既存のアドイン・メニューの説明と、変更手順および変更に関する考慮事項を示します。

XML のカスタマイズ方法

開発者は以下のようにして、アドイン・メニューをカスタマイズできます。

カスタマイズ対象 説明
可視性 メニュー上に表示する Application Integration コマンドとポップアップ・サブメニューを指定します。この方法で、メニューからサブメニューやコマンドを完全に削除して、特定の機能の可用性を制御することができます。
有効状態 表示はするが無効化 (灰色表示) する Application Integration コマンドとポップアップ・サブメニューを指定します。開発者はこの方法で、特定のメニューを開けるかどうか、またはコマンドを実行できるかどうかを制御できます。
ラベルまたはキャプション Application Integration コマンドとポップアップ・サブメニューがユーザーに対して表示される際のラベルまたはキャプションを指定します。 例えば、開発者が「チェックイン」コマンドを「ドキュメントの保管」に変更したり、「オーサリング」というサブメニューに一部のコマンドをグループ化したりすることができます。
コマンド・アクション Application Integration コマンドの選択時に実行される Application Integration アクションを指定します。

  ベンダー・コマンドを指定することはできません。

メニュー階層 メニュー上の Application Integration コマンドの配置 (コマンドの順序、ポップアップ・サブメニューのフォルダー階層にコマンドを含めるかどうかなど) を指定します。

XML ファイル名および場所

Application Integration のインストール時には、XML ファイルがインストール・ディレクトリー (デフォルトでは C:\Program Files\FileNet\AppInt\) に書き込まれます。サポート対象の Microsoft アプリケーションのいずれかが開いている場合は必ず、Application Integration がそれに対応する XML ファイルをインストール・ディレクトリー内で検索し、XML ファイルに含まれている指定に従って、該当するアプリケーションのアドイン・メニューを構成します。Application Integration がインストール・ディレクトリー内で XML ファイルを検出できない場合は、モジュール・ディレクトリーからファイルの収集を試行します。 (モジュール・ディレクトリーは、C:\Program Files\Microsoft Office\Office 内で各 Microsoft Office アプリケーションが通常デフォルトで格納される場所です。)

注意:  開発者は XML ファイルの内容を変更できますが、XML ファイル名を変更することはできません。Application Integration が XML ファイルを見つけ、これを利用してアドイン・メニューを構成できるように、これらのファイルはインストール・ディレクトリーまたはモジュール・ディレクトリーに置いておく必要があります。

以下の表に、各 XML ファイルの名前、各 XML ファイルの影響を受ける Microsoft Office アプリケーション、および各アプリケーションのサポート対象バージョンを示します。

XML ファイル名 対応するアプリケーション サポート対象バージョン
FnAppIntExcelMenus.xml Excel 2003、XP、2007
FnAppIntOutlookMenus.xml Outlook Explorer (アイテム参照ウィンドウ)
Outlook Inspector (アイテム編集ウィンドウ)
2003、XP、2007
FnAppIntPowerPointMenus.xml PowerPoint 2003、XP、2007
FnAppIntWordMenus.xml Word 2003、XP、2007

XML の変更に関する考慮事項

XML ファイルに変更を加える前に、以下の点を考慮してください。

XML のアドイン・メニュー・スキーマ

アドイン・メニューの XML スキーマの基本構造は以下のとおりです。

XML スキーマでこれらのタグを使用する例については、『サンプルの XML スキーマ』を参照してください。

タグの設定

addInMenuItem オブジェクトでは、setting タグを使用して、アドイン・メニューのサブメニューまたはコマンド・ボタンの外観と動作を定義します。タグの構文は、定義される key によって異なります。 例えば、type フィールドを必要とする key もあれば、必要としないものもあります。

<setting key="itemType">popup</setting>

<setting key="parent" type="menuId">30002</setting>

以下の表で、keytype フィールドを使用することが必須でない場合、または指定値が不要な場合は、「 タイプ」列または「」列に「適用外」と示します。 key の値が既知の Application Integration 変数 (popupbutton など) でない場合は、「」列の項目をイタリック体 (例: 30002) で示します。さらに、key が必須でない場合は、「説明」列の項目に [オプション] と示します。

Application Integration でサポートされる setting タグは以下のとおりです。

キー タイプ 説明
itemType 適用外 popup アドイン・メニュー・アイテムが、子を持つポップアップ・サブメニューであることを指定します。子にはコマンド・ボタンや追加のポップアップ・サブメニューを含めることができます。
  適用外 button アドイン・メニュー・アイテムが、子を持たないコマンド・ボタンであることを指定します。
description 適用外 P8 File Menu [オプション] 情報のみのアドイン・メニュー・アイテムの説明を指定します。この説明は、ユーザーに対しては表示されません。
label enum eOpenSubMenuName 以下の列挙型定数のいずれかを使用して、アドイン・メニュー・アイテムの表示ラベルまたはキャプションを指定します。
  • eFileMenuName
  • eOpenButtonName
  • eOpenSubMenuName
  • eOpenMyCheckoutsButtonName
  • eOpenSelectItemButtonName
  • eAddDocumentButtonName
  • eAddDocumentSubMenuName
  • eAddDocumentUseWizardButtonName
  • eAddDocumentSelectTemplateButtonName
  • eAddFolderButtonName
  • eCheckinSubMenuName
  • eCheckinQuickButtonName
  • eCheckinUseWizardButtonName
  • eTasksMyInboxButtonName
  • eSaveButtonName
  • eCancelCheckoutButtonName
  • ePropertiesButtonName
  • eLogoffButtonName
  • eInsertMenuName
  • eInsertButtonName
  • eInsertHyperlinkButtonName
  • eInsertPropPageButtonName
  • eInsertPropertyButtonName
  • eRefreshPropertyButtonName
  • eDeletePropertyButtonName
  • eHelpButtonName
  resourceID 119 リソースのローカライズ・ファイルで定義されたリソース ID に対応する整数値を指定することで、アドイン・メニュー・アイテムの表示ラベルまたはキャプションを指定します。
  text Checkin... 実際のテキスト・ストリングを指定して、アドイン・メニュー・アイテムの表示ラベルまたはキャプションを指定します。
visible 適用外 true アドイン・メニュー・アイテム (メニュー・アイテムがポップアップ・サブメニューの場合は子も含む) をユーザーに対して表示することを指定します。
    false アドイン・メニュー・アイテム (メニュー・アイテムがポップアップ・サブメニューの場合は子も含む) をユーザーに対して表示しない (つまり、このメニュー・アイテムをアドイン・メニューに表示しない) ことを指定します。
enabled 適用外 true アドイン・メニュー・アイテムを有効にする (つまり、ユーザーがポップアップ・サブメニューを開いたり、コマンド・ボタンを選択したりできるようにする) ことを指定します。
    False アドイン・メニュー・アイテムをユーザーが開いたり選択したりできない (つまり、このメニュー・アイテムがアドイン・メニュー上で無効になる) ことを指定します。
parent menuId 30002 アドイン・メニュー・アイテムの親メニューの "menuId" 値を指定します。 メニュー・アイテムがポップアップ・サブメニューの場合、この値は一般に既存の Microsoft Office ポップアップ・メニューのコントロール ID になります。Microsoft Office アプリケーションのメニュー ID について詳しくは、「Microsoft Office Developers Guide for Office 2003/XP/2007」を参照してください。
  topLevel 適用外 アドイン・メニュー・アイテムがポップアップ・サブメニューの場合は、このキーとタイプのペアによって、サブメニューがアプリケーションのトップレベルのメニュー・バーに置かれることを指定します。注:  このキーとタイプのペアは、ポップアップ・サブメニューに対してのみ有効です。
  適用外 適用外 アドイン・メニュー・アイテムがコマンド・ボタンの場合は、<list key="children"> タグを使用することで、指定された XML 内で親が暗黙的に示されます。したがって、XML 内でこの setting の位置に親を指定する必要はありません。注:  このキーとタイプのペアは、コマンド・ボタンに対してのみ有効です。
location 適用外 4 親メニュー上でこのアドイン・メニュー・アイテムを挿入する位置を指定します。値 -1 は、このメニュー・アイテムが既存のメニューの最下部に付加されることを示します。注:  この値は、親のポップアップ・メニュー上でこのメニュー・アイテムを表示させる位置を示します。
command standard OfficeAdd-In.
OpenSelection
ユーザーがコマンド・ボタンを選択したときに実行する Application Integration 操作を指定します。以下のいずれかの列挙型定数を指定できます。
  • OfficeAdd-In.AddFolderUseAddWizard
  • OfficeAdd-In.OpenMyCheckouts
  • OfficeAdd-In.OpenSelectItem
  • OfficeAdd-In.AddDocumentUseAddWizard
  • OfficeAdd-In.AddDocumentSelectTemplate
  • OfficeAdd-In.CheckinDocumentUseCheckinWizard
  • OfficeAdd-In.CheckinDocumentQuickCheckin
  • OfficeAdd-In.Save
  • OfficeAdd-In.CancelCheckout
  • OfficeAdd-In.GetInfo
  • OfficeAdd-In.TasksMyInbox
  • OfficeAdd-In.Logoff
  • OfficeAdd-In.Help
  • OfficeAdd-In.InsertItem
  • OfficeAdd-In.InsertProperty
  • OfficeAdd-In.RefreshProperties
  • OfficeAdd-In.DeleteProperties
  • OfficeAdd-In.InsertHyperlink
  • OfficeAdd-In.InsertPropertiesPage
  standard 適用外 アドイン・メニュー・アイテムがポップアップ・サブメニューの場合は、メニュー・クリックが無視されます。 したがって、XML 内でこの setting の位置にコマンドを指定する必要はありません。注:  このキーとタイプのペアは、ポップアップ・サブメニューに対してのみ有効です。

XML スキーマでこれらのタグを使用する例については、『サンプルの XML スキーマ』を参照してください。

サンプルの XML スキーマ

以下のコード・フラグメントは、Excel アプリケーションのアドイン・メニューの基本的な XML スキーマ構造を示しています。

<?xml version="1.0" ?>
   <!-- IBM FileNet P8 Application Integration 4.0 Excel Add-In Menus-->
   <!-- Add-In Menus - Configuration Info -->
   <object key="addInMenusConfiguration" version="1.0">
      <setting key="applicationName">Excel</setting>
      <array key="applicationVersion">
         <value>2003</value>
         <value>XP</value>
         <value>2007</value>
      </array>
      <!-- Add-In Menus - Main Menu Definitions -->
      <object key="addInMenusDefinition" type="main">
         <list key="children">
            <!-- P8 File Menu -->
            <object key="addInMenuItem">
               <setting key="itemType">popup</setting>
               ...
               <list key="children">
                  <!-- Open Document SubMenu -->
                  <object key="addInMenuItem">
                     <setting key="itemType">popup</setting>
                     <setting key="description">Submenu of commands for opening documents.</Setting>
                     <setting key="label" type="text">Open Document</setting>
                     <setting key="visible">true</setting>
                     <setting key="enabled">true</setting>
                     <setting key="location">3</setting>
                     <setting key="command" type="standard"></setting>
                     <list key="children">
                        <!-- Open Document - My Checkouts... Button -->
                        <object key="addInMenuItem">
                           <setting key="itemType">button</setting>
                           ...
                           <list key="children" />
                        </object>
                        <!-- Open Document - Select Item... Button -->
                        <object key="addInMenuItem">
                           <setting key="itemType">button</setting>
                           ...
                           <list key="children" />
                        </object>
                     </list>
                     <list key="children" />
                  </object>
                  <!-- Add Document SubMenu -->
                  <object key="addInMenuItem">
                     <setting key="itemType">popup</setting>
                     ...
                     <list key="children" />
                  </object>
                  ...
                  <!-- Add Folder... Button -->
                  <object key="addInMenuItem">
                     <setting key="itemType">button</setting>
                     <setting key="description">Performs the Add Folder Wizard</setting>
                     <setting key="label" type="enum">eAddFolderButtonName</setting>
                     <setting key="visible">true</setting>
                     <setting key="enabled">true</setting>
                     <setting key="parent" type="menuId">30002</setting>
                     <setting key="location">1</setting>
                     <setting key="command" type="standard">OfficeAdd-In.AddFolderUseAddWizard</setting>
                     <list key="children" />
                  </object>
                  ...
               </list>
               <list key="children" />
            </object>
            <!-- P8 Insert Menu -->
            <object key="addInMenuItem">
               <setting key="itemType">popup</setting>
               ...
               <list key="children">
               ...
               </list>
               <list key="children" />
            </object>
            <!-- P8 Help Menu -->
            <object key="addInMenuItem">
               <setting key="itemType">popup</setting>
               ...
               <list key="children">
               ...
               </list>
               <list key="children" />
            </object>
         </list>
      </object>
   </object>
...