Поделиться через


Specifying Form Regions in the Windows Registry

Чтобы запустить форму, содержащую область формы, на клиентском компьютере необходимо зарегистрировать область формы в реестре Windows, указав класс сообщений и другие сведения, необходимые для отображения области формы в Microsoft Outlook. Эти сведения включают отображаемое имя, где область формы отображается в форме, любой файл макета или надстройка, реализующая область формы, все поддерживаемые действия пользователей и локализованные термины для пользовательского интерфейса. Структура этих сведений соответствует XML-схеме области формы; Дополнительные сведения о XML-схеме для областей форм см. в справочнике по xml-схемам Microsoft Outlook 2010, русская версия в библиотека MSDN.

Существует несколько способов указать эти сведения о области формы в реестре. Можно явно указать XML-файл или полный путь к XML-файлу, который содержит эти сведения для области формы и соответствует xml-схеме области формы. Вы также можете указать ProgID надстройки, которая предоставит Outlook XML-манифест для области формы. При запуске Outlook считывает список областей форм из реестра и кэширует связанные данные.

Осторожностью Неправильное изменение реестра Windows может серьезно повредить систему. Перед изменением реестра создайте резервную копию всех важных данных, имеющихся на компьютере.

Регистрация области формы

Зарегистрируйте области форм в разделе FormRegions в реестре Windows, в разделе локального компьютера ( какHKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\FormRegions) или в текущем пользовательском ключе ( какHKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions). В разделе FormRegions создайте отдельный ключ для каждого класса сообщений, для которого были созданы области форм. Например, почтовый элемент имеет класс сообщения IPM. Примечание. Вы можете зарегистрировать все области формы, используемые для отображения почтового элемента текущего пользователя под ключом ,HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions\IPM.Note.

Ниже показано, как зарегистрировать область формы на локальном компьютере.

  1. Закройте Outlook.
  2. Добавьте следующий раздел в реестр, если он еще не существует: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\FormRegions.
  3. В разделе FormRegions добавьте ключ с именем класса сообщения, с которым связана область формы, если этот ключ еще не существует. Например, чтобы создать область формы для элемента контакта, добавьте ключ с именем IPM. Контакт, если он еще не существует.
  4. Для этого ключа добавьте значение типа REG_SZ и укажите имя, которое будет совпадать с именем элемента name области формы. Это внутреннее имя области формы; внутреннее имя поддерживает только символы ASCII. Укажите данные в качестве одного из следующих возможных значений:
    • Явно XML-код, указывающий макет, поведение и другие характеристики для области формы и соответствующий XML-схеме области формы. В этом случае перед данными должен быть знак меньше (<).
    • ProgID надстройки, которая предоставит Outlook XML-манифест для области формы. В этом случае перед данными должен быть знак равенства (=). Например, если progID надстройки имеет значение MyAddinProject1.ConnectClass, необходимо указать для ключа значение =MyAddinProject1.ConnectClass.
    • Полное имя локального файла к XML-файлу манифеста области формы, который описывает макет, поведение и другие характеристики области формы. Если данные не предшествуют знаку< меньше () или знаку равенства (=), outlook будет считать, что данные являются именем пути к XML-файлу манифеста областей формы. Например, если XML-файл манифеста области формы, map.xml, находится в папке c:\Form Regions, необходимо указать данные ключа, которые будут иметь значение c:\Form Regions\map.xml.

Указание областей форм в качестве замены для стандартных форм

Outlook позволяет настроить стандартную форму для каждого класса сообщений Outlook, добавив в форму прилегающие области формы или отдельные области формы. В следующей таблице показаны стандартные формы и соответствующие классы сообщений в Outlook.

Стандартная форма Класс Message
Appointment IPM.Appointment
Contact IPM.Contact
Запись в журнале IPM.Activity
Приглашение на собрание IPM. Meeting.Schedule.Request
Сообщение IPM.Note
Post IPM.Post
Задача IPM. Запрос
Запрос задачи IPM.Task

Примечание Нельзя указать области формы для корневого класса сообщений Outlook IPM.

Вы можете добавить отдельные области формы в качестве дополнительных страниц в стандартную форму, но нельзя заменить существующие страницы в стандартной форме и сохранить форму для одного и того же класса сообщений Outlook. Если необходимо заменить страницу по умолчанию или все страницы стандартной формы, вам потребуется создать новый класс сообщений для этой формы, указать область замены формы для замены страницы по умолчанию или область формы replace-all, чтобы заменить всю форму, и зарегистрировать эту область формы для производного класса сообщений.

Например, можно создать область формы замены, которая заменяет страницу Общие формы контакта, и зарегистрировать эту область формы для класса сообщений, производных от IPM. Контакт, например IPM. Contact.MyContact. Невозможно зарегистрировать область формы для IPM. Класс contact message.

Когда Outlook открывает элемент и видит производный класс сообщения (например, IPM. Contact.MyContact.Personal.Family) ищет область формы для замены или замены (т. е. область формы с элементом formRegionType , равным замене или заменеAll), которая точно соответствует производному классу сообщений IPM. Contact.MyContact.Personal.Family. Если точного соответствия нет, Outlook попытается использовать IPM. Contact.MyContact.Personal, и в случае сбоя Outlook попытается использовать IPM. Contact.MyContact. Обратите внимание, что Outlook игнорирует все области форм для замены или замены всех форм для IPM. Контакт. Если точное совпадение еще нет, Outlook будет искать любую область формы с типом formRegionType , равным прилегающей или отдельной для производного класса IPM. Contact.MyContact.Personal.Family.

Несколько областей формы для одного класса сообщений

Если одна или несколько надстроек регистрирует несколько областей формы для одного и того же класса сообщений, порядок отображения прилегающих областей формы на странице по умолчанию и порядок отдельных областей формы в форме зависит от порядка установки надстроек и порядка, в котором надстройки регистрируют области формы. Если надстройка указывает несколько прилегающих областей формы или несколько отдельных областей формы для класса сообщения, надстройка может использовать элемент displayAfter для указания порядка этих областей формы. Порядок, заданный параметром displayAfter , имеет приоритет над порядком областей формы в реестре. Это единственное, что позволяет надстройкам указать порядок областей формы в форме.

После установки областей формы на клиентском компьютере пользователи формы могут дополнительно настроить порядок прилегающих областей формы, открыв форму и переместив области формы вверх или вниз на странице по умолчанию с помощью контекстного меню заголовка области формы.

Пример

Ниже приведен пример XML-кода для области формы для производного класса сообщений IPM. Contact.MapUser. Область формы применяется ко всем пользователям на компьютере. XML-файл, map.xml, находится в области c:\Form.

Чтобы зарегистрировать область формы, создайте в реестре Windows следующее значение:

Значение реестра Запись
Ключ HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\FormRegions\IPM.Contact.MapUser
Имя MapTab
Тип REG_SZ
Data c:\Form Regions\map.xml

Ниже приведен список содержимого 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> 

Область формы добавляется в форму в виде страницы, следующей за последней не скрытой встроенной страницей в форме контакта (как правило, это будет следовать за страницей Все поля ). Страница называется Маршруты и имеет внутреннее программное имя MapTab. Map.xml указывает файл макета и файл значка. Обратите внимание, что все пути к файлам в XML-файле можно указать как полные пути к файлам или пути относительно расположения XML-файла манифеста области формы.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.