0

MSAccessアプリのテーブルとしてリンクされたExchangeメールボックスがあります。これは主に読み取りに使用されますが、メッセージを別のフォルダーに「移動」できるようにもしたいと思います。

残念ながら、これは2番目のリンクされたメールボックスに書き込むほど簡単ではありません。これは、明らかに一部のフィールドを編集できないためです。次のエラーが発生するため、To:フィールドなどのいくつかの重要なフィールドは使用できません

「フィールド'To'は式に基づいており、編集できません」。

代わりにCreateObject( "Outlook.Application")を使用することは、ここではオプションではありません。私の知る限り、Accessから呼び出されたときにセキュリティダイアログが表示されるためです。

解決策はありますか?*

4

2 に答える 2

1

これは2つの問題ですか?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)

ただし、受信者 (To) は読み取り専用であり、Outlook Redemtion を使用していると思います。

于 2008-09-19T14:44:42.777 に答える
0

Access がこの仕事に適したツールだとは思いません。Outlook.Application オブジェクトや CDO のような MAPI ラッパーを使用して回避することはできません。CDO はよりエレガントでパフォーマンスの高い方法ですが、Office セットアップを介して明示的にクライアントにインストールする必要があります。

スクリプトのセキュリティ ダイアログ (および CDO の一般的な機能の一部) を回避したい場合は、Outlook Redemptionを試してみてください。

Redemption は CDO のドロップイン代替品であり、以前に CDO/Outlook VBA コーディングを行ったことがあればすぐに慣れることができます。

于 2008-10-07T13:20:17.213 に答える