MS Outlook - расширение форм автоматически - PullRequest
0 голосов
/ 22 июня 2009

Мне нужно разработать расширение Outlook, способное расширять существующие формы с помощью вкладок, загружаемых с удаленного сервера. Например, в форме встречи должна появиться дополнительная вкладка. Определение формы на этой вкладке загружается из веб-службы и обрабатывается, скажем, с помощью WPF. Данные для этой вкладки также поступают с сервера и привязываются к полям формы. И последнее: когда форма сохранена, она также должна быть отправлена ​​на этот удаленный сервер.

Должно работать в Outlook 2003 и 2007.

Основные вопросы:

  1. Это вообще возможно?
  2. Что читать, чтобы понять это быстрее? MSDN большой, даже его раздел для разработчиков Outlook.
  3. Есть ли образцы?

UPDATE

Большое спасибо за ответы! Определенно, здесь слишком много разных вопросов, поэтому мне придется разбить его на несколько частей. После прочтения ответов и выполнения домашнего задания я хочу возобновить:

  1. Да, это возможно. Может быть, позже я найду подводные камни.
  2. Лучший способ - взять VS 2008 и попробовать сделать расширение.

Ответы [ 2 ]

5 голосов
/ 22 июня 2009

Хорошо, в вашем посте много вопросов, я думаю, что у меня есть некоторые ответы, но не все. Как бы то ни было, в вашем вопросе слишком много информации для одного поста, чтобы охватить все это.

Первое, что нужно знать, это то, что Outlook 2007 имеет другой способ работы, чем предыдущие версии. Поэтому вам, вероятно, придется сделать что-то дважды, чтобы использовать Outlook 2003 и 2007.

Первое, что нужно знать, это словарный запас, который поможет найти то, что вам нужно. В Outlook 2003 вы будете использовать пользовательские формы для создания или расширения форм. В Outlook 2007 вы будете использовать новые области формы. Хотя они похожи по своей концепции, это две разные вещи.

Поскольку я работал только в Outlook 2007, то, что я скажу дальше, относится только к этому. Вам понадобится либо Visual Studio 2005 и загрузить VSTO (Инструменты Visual Studio для Office), либо Visual Studio 2008.

Область формы имеет один из 4 типов: Смежный, Отдельный, Заменить или Заменить все. Смежный означает, что он отображается в нижней части формы по умолчанию. Отдельное означает, что это новая «страница» внутри формы. Заменить означает, что она заменяет первую страницу формы по умолчанию, а Заменить все означает, что она заменяет все страницы формы по умолчанию.

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

У вас есть два способа создания Области форм. Первый рекомендуемый способ - это конструктор в Outlook 2007: что-то вроде «Инструменты> Формы> Создать форму региона». Вы проектируете внутри этой вещи, сохраняете форму как файл .ofs и затем импортируете ее в Visual Studio.

Преимущества:

  • Рекомендовано Microsoft, поэтому практически все ресурсы по настройке Outlook 2007 используют этот метод.
  • Готовые элементы управления для Outlook (например, поля, предназначенные для хранения почтовых адресов).
  • Автоматическая привязка к UserProperty в вашей почте.

Недостатки:

  • Сырой конструктор (сложно правильно выровнять вещи).
  • Всякий раз, когда вы захотите обновить свою форму, вам придется изменить ее в Outlook и загрузить ее снова в Visual Studio, что приведет к удалению предыдущего кода.
  • Старые элементы управления COM, с которыми ужасно работать.

Другой способ - создать новую форму региона в Visual Studio.

Преимущества:

  • У вас есть все новейшие, мощные, необходимые вам формы управления.
  • Лучший дизайнер.
  • Простота обновления.

Недостатки:

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

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

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

Пока это все, я надеюсь, что я не не в теме с моим длинным ответом, и что он может помочь вам точно определить, что вы хотите сделать. Вы должны получить представление о том, что позволяет делать Outlook, а затем задать более конкретные вопросы по каждому пункту.

1 голос
/ 22 июня 2009

Это невозможно, как вы описываете, но вы можете получить некоторые пути там. Также Ksempac указал на много хороших вещей о плюсах и минусах, как сделать что-то в outlook 2007.

Чтобы приступить к работе в 2003 и 2007 годах, я думаю, что лучшим способом было бы разработать собственную форму встречи. Вы можете расширить одну из вкладок, чтобы иметь элемент управления браузера, который отображал динамическую форму из вашего веб-сервиса. Результаты могут быть отправлены обратно или сохранены с новой формой внешнего вида для последующего рендеринга / обработки.

примеры:

Пример дизайна формы: http://www.msexchange.org/articles/Designing-Outlook-Forms-Part1.html

Перезаписать формы по умолчанию: http://support.microsoft.com/?kbid=241235

В сети и в сети много хороших вещей о разработке форм внешнего вида, и вы можете спросить здесь все. Есть несколько хороших книг о формах:

Хорошие места для начала - книги и сайт Сью Мошер. Outlookcode.com

Программирование в Microsoft Outlook: Jumpstart для администраторов, разработчиков и опытных пользователей (ISBN 1-555-58286-9, цифровая печать)

Microsoft Outlook 2007 Программирование: Jumpstart для опытных пользователей и администраторов (ISBN 1-55558-346-6, цифровая печать)

Как Ксемпака, вам, вероятно, нужно разбить вопрос и задать его по ходу дела.

обновление Если у вас есть бюджетная надстройка Express http://www.add -in-express.com / , то вы избавитесь от проблем, связанных с развертыванием в двух версиях, и вы сможете быстрее начать работать, чем если рука.

...