Windows レジストリでフォーム領域を指定する

クライアント コンピューターでフォーム領域を含むフォームを実行するには、Windows レジストリでフォーム領域を登録し、メッセージ クラスと Microsoft Outlook がフォーム領域を表示するために必要なその他の情報を指定する必要があります。 この情報には、表示名、フォーム領域がフォームに表示される場所、フォーム領域を実装するレイアウト ファイルまたはアドイン、サポートされているユーザーの操作、ユーザー インターフェイス用のローカライズされた語句が含まれます。 この情報の構造は、フォーム領域の XML スキーマに従います (フォーム領域の XML スキーマの詳細については、MSDN ライブラリの『Microsoft Outlook 2010 XML Schema Reference』を参照してください)。

レジストリにフォーム領域に関する情報を指定する方法はいくつかあります。 フォーム領域のこの情報を含み、フォーム領域 XML スキーマに適合する XML または XML ファイルへのフル パスを明示的に指定します。 また、フォーム領域の XML マニフェストを Outlook に提供するアドインの ProgID も指定できます。 Outlook が起動すると、レジストリからフォーム領域の一覧が読み込まれ、関連付けられたデータがキャッシュされます。

注意 Windows レジストリを誤って編集すると、システムが深刻な損傷を受ける可能性があります。 レジストリを変更する前に、コンピューター上の重要なデータのバックアップを作成する必要があります。

フォーム領域を登録する

フォーム領域を Windows レジストリの FormRegions キーの下、ローカル コンピューター キー ( HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\FormRegionsとして) または現在のユーザー キー ( HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions) の下に登録します。 FormRegions キーの下で、フォーム領域が作成されたメッセージ クラスごとに個別のキーを作成します。 たとえば、メール アイテムにはメッセージ クラス IPM.Note があり、キー HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions\IPM.Note の下に現在のユーザーのメール アイテムを表示するために使用されるすべてのフォーム領域を登録できます。

次の手順は、ローカル マシンにフォーム領域を登録する方法を示しています。

  1. Outlook を終了します。
  2. HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\FormRegions キーが存在しない場合は、レジストリに追加します。
  3. FormRegions キーの下に、フォーム領域が関連付けられているメッセージ クラスの名前を持つキーを追加します (そのキーが存在しない場合)。 たとえば、連絡先アイテムのフォーム領域を作成するには、 IPM.Contact という名前のキー (存在しない場合) を追加します。
  4. そのキーに REG_SZ型の値を追加し、フォーム領域の name 要素と同じ 名前 を指定します。 これはフォーム領域の内部名です。内部名は ASCII 文字のみをサポートします。 次のいずれかの値としてデータを指定します。
    • Explicitly the XML that specifies the layout, behavior, and other characteristics for the form region, and that conforms to the form region XML schema. この場合は、より小さい符号 (<) でデータの前に記述する必要があります。
    • The ProgID of an add-in that will provide Outlook the XML manifest for the form region. この場合、データの前に等号 (=) を付けます。 For example, if the ProgID of an add-in is MyAddinProject1.ConnectClass, you would specify the data of the key to be =MyAddinProject1.ConnectClass.
    • The full local file path name to a form region XML manifest file that describes the layout, behavior, and other characteristics of the form region. データの前に小さい符号 () または等号 (<=) がない場合、Outlook はデータがフォーム領域 XML マニフェスト ファイルへのパス名であると想定します。 たとえば、フォーム領域の XML マニフェスト ファイル (map.xml) が c:\Form Regions にある場合は、キーのデータを c:\Form Regions\map.xmlに指定します。

標準フォームの代わりとしてフォーム領域を指定する

Outlook では、付加フォーム領域または個別フォーム領域をフォームに追加することで、各 Outlook メッセージ クラスの標準フォームをカスタマイズできます。 次の表は、標準フォームと Outlook の対応するメッセージ クラスを示します。

標準フォーム メッセージ クラス
Appointment IPM.Appointment
Contact Ipm。連絡先
履歴 Ipm。活動
会議出席依頼 Ipm。Meeting.Schedule.Request
メッセージ IPM.Note
投稿 IPM.Post
タスク Ipm。要求
タスクの依頼 Ipm。タスク

メモ ルート Outlook メッセージ クラス IPM にフォーム領域を指定することはできません。

個別フォーム領域を追加ページとして標準フォームに追加することはできますが、標準フォームの既存のページを置き換えて、同じ Outlook メッセージ クラスのフォームを保持することはできません。 標準フォームの既定のページまたはすべてのページを置き換える必要がある場合は、そのフォームの新しいメッセージ クラスを派生させ、既定のページまたは replace-all フォーム領域を置き換えてフォーム全体を置き換える置換フォーム領域を指定し、派生メッセージ クラスのフォーム領域を登録する必要があります。

たとえば、連絡先フォームの [ 全般] ページを置き換える代替のフォーム領域を作成し、 IPM.Contact から派生したメッセージ クラス ( IPM.Contact.MyContact など) のフォーム領域を登録できます。 IPM.Contact メッセージ クラスのフォーム領域を登録することはできません。

Outlook がアイテムを開き、派生メッセージ クラス (IPM など) を表示する場合 。Contact.MyContact.Personal.Family)、置換または replace-all フォーム領域 (つまり、 formRegionType 要素が replace または replaceAll と等しいフォーム領域) を検索し、派生メッセージ クラス IPM と完全に一致します 。Contact.MyContact.Personal.Family. 完全に一致するメッセージ クラスが見つからない場合、Outlook は IPM.Contact.MyContact.Personal を試し、失敗した場合は IPM.Contact.MyContact を試します。 Outlook では、 IPM.Contact の代替のフォーム領域または全置換フォーム領域は無視されます。 完全に一致するメッセージ クラスが依然として見つからない場合、Outlook は、派生したクラス IPM.Contact.MyContact.Personal.Familyadjoining または separate に等しい formRegionType を持つフォーム領域を検索します。

同じメッセージ クラスの複数のフォーム領域

複数のアドインが同じメッセージ クラスの複数のフォーム領域を登録すると、既定のページの付加フォーム領域の表示順序と、フォームの個別フォーム領域の順序は、アドインがインストールされた順序と、アドインがフォーム領域を登録する順序によって異なります。 アドインが複数の付加フォーム領域、またはメッセージ クラスの複数の個別フォーム領域を指定した場合、アドインは displayAfter 要素を使用して、これらのフォーム領域の順序を指定できます。 displayAfter で指定された順序は、レジストリのフォーム領域の順序よりも優先されます。 これは、アドインがフォーム内のフォーム領域の順序を指定できる唯一の方法です。

フォーム領域がクライアント コンピューターにインストールされた後、フォーム ユーザーは、フォームを開き、フォーム領域のヘッダーのショートカット メニューを使用して、既定のページでフォーム領域を上下に移動することで、付加フォーム領域の順序をさらにカスタマイズできます。

派生したメッセージ クラス IPM.Contact.MapUser のフォーム領域の XML の例を次に示します。 フォーム領域は、コンピューター上のすべてのユーザーに適用されます。 XML ファイル map.xml は c:\Form Regions にあります。

フォーム領域を登録するには、Windows レジストリに次の値を作成します。

レジストリ値 エントリ
Key HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\FormRegions\IPM.Contact.MapUser
名前 MapTab
Type REG_SZ
Data c:\Form Regions\map.xml

The following lists the content of map.xml:

<?xml version="1.0"?> 
<FormRegion xmlns="https://schemas.microsoft.com/office/outlook/12/formregion.xsd">   
    <!-- Internal name --> 
    <name>MapTab</name> 
    <!-- Display name --> 
    <title>Directions</title> 
    <!--  Additive separate form region --> 
    <formRegionType>separate</formRegionType> 
    <!--  Layout file --> 
    <layoutFile>Map.ofs</layoutFile> 
    <!-- Icon for form region in all contexts --> 
    <icons> 
        <default>generic.ico</default> 
    </icons> 
</FormRegion> 

The form region is added to the form as a page following the last non-hidden built-in page in the Contact form (normally, this would follow the All Fields page). The page is titled Directions and has an internal programmatic name "MapTab". Map.xml specifies a layout file and an icon file. Note that all file paths in the xml file can be specified as full file paths, or paths relative to the location of the form region XML manifest file.

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。