Outlook 2010: Как составить электронную почту из VBScript / JScript - PullRequest
1 голос
/ 04 апреля 2011

У меня есть некоторый код JScript, который я использую в течение нескольких лет, который может прочитать файл XML и открыть окно составления Outlook с предварительно заполненными полями to / cc / subject и предварительно прикрепленными файлами на основе данных XML. Затем пользователь может прикрепить больше файлов, внести любые исправления и отправить электронное письмо. Основная часть кода использует CDO для создания нового сообщения:

var ol = WScript.CreateObject("Outlook.Application");
var msg = ol.CreateItem(olMailItem);

К сожалению, я только что обнаружил, что это больше не работает с 64-битной Outlook 2010, так как CDO больше не поддерживается. Предложение от Microsoft состоит в том, чтобы обновить ваши приложения для использования объектной модели Outlook, но я не могу найти никаких примеров того, как можно использовать объектную модель Outlook, чтобы открыть окно создания из любого VBScript или JScript. Все примеры "VB" в MSDN приводят к синтаксическим ошибкам при запуске через интерпретатор VBScript.

Может кто-нибудь указать мне на какие-нибудь короткие примеры, демонстрирующие, как взаимодействовать с Outlook 2010 с использованием VBScript или JScript?

РЕДАКТИРОВАТЬ: только что понял, проблема в том, что я использую MAPI.Session для настройки свойств вложения, и это то, что не работает. Я думаю, мне нужно найти, что это было заменено:

var oSession = WScript.CreateObject("MAPI.Session");
oSession.Logon("", "", false, false);
var oMsg = oSession.GetMessage(strMsgID);
var oAttachFields = oMsg.Attachments.Item(i+1).Fields;
...

1 Ответ

1 голос
/ 04 апреля 2011

Хорошо, оказалось, что большая часть материала MAPI.Session была объединена с реальными объектами, которые все еще доступны, используя первый бит кода в моем посте («Outlook.Application»). Я использовал материал MAPI.Session только для того, чтобы скрыть вложения изображений (чтобы они могли отображаться в теле сообщения в виде строки, а не в виде файлов, прикрепленных к электронному письму), но теперь это, похоже, включается автоматически.

Так что все, что мне на самом деле нужно было сделать, это удалить материал MAPI.Session, и тогда все начало работать. В скором времени я опубликую ссылку на код, если кто-то посчитает его полезным.

РЕДАКТИРОВАТЬ: Вот код на GitHub , если кто-то по сравнительно простому примеру.

...