Как импортировать или создать правило Outlook 2003 (.rwz) с VSTO 2005?

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

Могу ли я импортировать правило через надстройку VSTO 2005 Outlook (2003)? Или я могу создать правило из этого надстройки?

Заранее спасибо!


person Marcus    schedule 29.07.2009    source источник


Ответы (2)


Это невозможно сделать программно с использованием импортированного RWZ. Однако вы можете создавать правила программно. Вы можете использовать CDO / RDO и т. Д. Или использовать OOM непосредственно внутри надстройки или макроса. Все немного по-разному в том, что вы можете делать. Взгляните на:

Справочник MSDN для разработчиков
http://msdn.microsoft.com/en-us/library/bb176397.aspx

Как: создать правило для перемещения определенных сообщений электронной почты в папку
http://msdn.microsoft.com/en-us/library/bb206765.aspx

RDORules
http://www.dimastr.com/redemption/rdo/rdorules.htm

person 76mel    schedule 29.07.2009
comment
Поправьте меня, если я ошибаюсь, но для программного создания правила мне нужно использовать VBA вместо VSTO. Я также читал, что код VBA можно запускать из VSTO, но только с VSTO3. Есть ли способ создать мое правило с VSTO 2005 SE? (В VSTO 2005 SE нет Outlook.rules: /) - person Marcus; 30.07.2009
comment
Вы можете создать их в своем vsto или vba (например, макрос в Outlook). Это просто зависит от того, как вы хотите сделать это через макрос, через надстройку или через автономный режим. - person 76mel; 30.07.2009
comment
На самом деле моя цель - создать правило, не заставляя пользователя что-либо делать. Я хотел бы создать его из моего надстройки VSTO 2005 SE Outlook, но, как я выяснил, вы можете создавать правила только для Outlook 2007, а не для 2003 (в случае разработки VSTO). Не могли бы вы объяснить, как я могу создать правило для 2003 года (без того, чтобы пользователь делал что-либо еще, кроме, возможно, запуска установки или сценария)? - person Marcus; 30.07.2009
comment
Хорошо, вы можете использовать RDO в своем надстройке, у способа VBA есть проблемы с распространением, есть хакерские способы развернуть vba через копирование VbaProject.otm - person 76mel; 30.07.2009
comment
Понятно ... у меня есть следующие варианты: 1. Тратить деньги на распространяемую лицензию RDO 2. Использование VBA с большими проблемами при его распространении 3. Разрешить моему клиенту перейти с Office 2003 на 2007;) Я считаю, что это особенность собираюсь умереть, но тем не менее спасибо за вашу помощь! :) - person Marcus; 30.07.2009

Правило - это просто способ для непрограммиста достичь того, что программист уже может достичь с помощью объектной модели Outlook / CDO / .net / и т. Д.

Я предлагаю вам переоценить точную функциональность, которую вы пытаетесь достичь, и подумать, действительно ли так важно использовать правило вместо настраиваемого метода (vsto, com addin, ext. Автоматизация Outlook и т. Д.)

person Anonymous Type    schedule 31.07.2009
comment
Преимущество использования правила вместо того, чтобы позволить надстройке выполнять всю работу, заключается в том, что функция перемещения электронных писем также предоставляется в случае деактивации надстройки, что иногда может случиться в моем случае. Наличие правила более уверенно, что письма будут только во вложенной папке, так что мой надстройка может анализировать их оттуда и не нуждается в фильтрации всего почтового ящика, что занимает гораздо больше времени. И я не думаю, что безопасность - это проблема, поскольку вы можете создавать правила с помощью VSTO, но только с Outlook 2007. Однако, по-видимому, мы будем делать это, используя только методы VSTO;) - person Marcus; 31.07.2009
comment
Проблема в том, что правило действует только на стороне клиента. т.е. Outlook по-прежнему нужно открыть и запустить, чтобы ваше правило работало. Если у вас нет плохо написанного надстройки (которая самодеактивируется во время выполнения), надстройка всегда будет загружена и запущена, когда правило такого же характера могло быть загружено и запущено. - person Anonymous Type; 04.08.2009
comment
Также обратите внимание, что ни одна из ссылок (ссылок), приведенных в приведенном выше ответе, фактически не отвечает на вопрос. На самом деле нет возможности программно импортировать rwz и создать правило с помощью кода. обходные пути, такие как сделать это в vba и использовать rdorules, не отвечают на этот вопрос. ОТ dimastr.com (источник RDORules) .... Важное примечание: правила, созданные RDORules, не отображаются в Outlook (Инструменты | Правила и предупреждения). Коллекция RDORules работает только с правилами Exchange Server; он не может получить доступ и управлять локальными правилами (например, теми, которые используются в хранилище PST). - person Anonymous Type; 04.08.2009
comment
Обычно надстройка загружается и запускается, и это правда, но пользователь может деактивировать ее вручную, что иногда может случиться. Вы также правы, говоря, что нет возможности импортировать rwz программно, но о чем вы? Я спросил, можно ли их импортировать или создать с помощью кода. 76mel сказал, что я не могу импортировать его, но показал способ их создания (в Outlook 2007 нет проблем с созданием правил). Так что это правильный ответ на мой вопрос;) - person Marcus; 04.08.2009
comment
на самом деле нет, это не так. Ваш вопрос относится к Outlook 2003, и, помимо всех предоставленных вам обходных путей, не создаются правила, которые могут быть интерактивными с точки зрения пользователей в пользовательском интерфейсе. Как вы говорите, с 2007 года это больше не проблема, однако, как вы думаете, вы не получите правильного правила, используя VSTO и OL 2003. - person Anonymous Type; 05.08.2009