Вопросы | ms-access

Как переместить почту из одного связанного почтового ящика Exchange в другой в MS Access

Вопрос

Anonymous | 1138 просмотров | рейтинг: 0

У меня есть почтовый ящик Exchange, связанный как таблица в приложении MS Access. Это в основном используется для чтения, но я также хотел бы иметь возможность перемещать сообщения в другую папку. К сожалению, это не так просто, как запись во второй связанный почтовый ящик, потому что, по-видимому, я не могу редактировать некоторые поля. Некоторые критические поля, такие как поле To: недоступны, так как я получаю следующую ошибку Поле «Кому» основано на выражении и не может быть отредактировано. Использование CreateObject (Outlook.Application) вместо этого здесь не вариант, потому что, насколько я знаю, это дает диалог безопасности при вызове из Access. Любые решения? *



Ответы

Fionnuala

+ 1 -
Это две проблемы? Почту можно переместить с помощью метода Move. Вот фрагмент:
  Set oApp = CreateObject("Outlook.Application")

Set oNS = oApp.GetNamespace("MAPI")

Set oMailItems = oNS.GetDefaultFolder(olFolderInbox)
Set itm = oMailItems.Items(6)
itm.Move oNS.GetDefaultFolder(olFolderDeletedItems)
 

Однако Recipients (To) доступен только для чтения, даже, я полагаю, с погашением Outlook.  


Tomalak

+ 0 -
Я не думаю, что Access является подходящим инструментом для работы. Вам не удастся использовать объект Outlook.Application или оболочку MAPI, такую как CDO. CDO будет более элегантным и производительным способом, но он должен быть явно установлен на клиенте через программу установки Office. Если вы хотите избежать диалога безопасности скрипта (и некоторых возможностей CDO в целом), вам следует попробовать Outlook Redemption. Погашение является заменой CDO, и вы сразу узнаете его, когда делали кодирование CDO / Outlook VBA ранее.


Теги

ms-access | access-vba | exchange-server