2009-06-22 3 views
0

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

Он должен работать в Outlook 2003 и 2007

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

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

UPDATE

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

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

Вы используете Outlook 2007 или более раннюю версию? От этого зависит много ответов. – Ksempac

+0

Должны быть как в 2003 году, так и в 2007 году. – XOR

+0

В вашем обновлении ... Формы Outlook - это простой способ перейти сюда, поскольку его довольно просто настроить (инструменты> формы> форму дизайна) и т. Д., И если вы знаете некоторые VBS, вы хороший 2003 + 2007, поэтому может быть прототипом таким образом и увидеть, прежде чем переходить к vsto и заставить его работать в 2003 и 2007 годах и осложнениями, которые приносят. – 76mel

ответ

5

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

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

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

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

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

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

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

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

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

Недостатки:

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

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

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

  • Вы все последние, powerfuls, WinForms управления вы хотите.
  • Лучший дизайнер.
  • Простота обновления.

Недостатками:

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

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

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

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

+0

Отличное объяснение! Спасибо. – XOR

+0

FYI: В настоящее время я работаю над 2 надстройками Outlook 2007 с большим количеством региональных форм. Один использует конструктор Outlook, другой использует дизайн в VS2008 (разные требования, разные сроки). Я могу сказать, что мы натыкались на скрытые камни и ямы почти каждую неделю. Так что прикрепите себя, вы будете в грубой поездке. – Ksempac

1

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

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

примеры:

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

ПЕРЕЗАПИСАТЬ по умолчанию образует: http://support.microsoft.com/?kbid=241235

Существует груз хорошего материала на здесь и сеть о разработке форм Outlook и вам можете все спросить здесь. Есть также несколько хороших книг по формам:

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

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

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

Как Ksempac вам прочертовский нужно сломать вас вопрос вниз и спросить, как вы идете ..

обновление Если у вас есть бюджет Add-Экспресс http://www.add-in-express.com/ будет т ake боль из развертывания в 2 версии Outlook, и вы можете получить производительность быстрее, чем если вы делаете это вручную.