2010-12-16 16 views
2

私はこの質問を以前に見たことがあると知っていますが、もう一度見つけることができません。Outlook Interop Copy MailItem

Microsoft Interopを使用して、メールボックスを受信トレイから別のフォルダにコピーしたいと考えています。私は、予定やフォルダのような他のオブジェクトはどちらもCopyTo()メソッドを持っていますが、MailItemには存在しません。私が今行う方法は、MailItem.Copyを呼び出して、そのコピーを別のフォルダに移動することです。私はこれが好きではありません。なぜなら、電子メールがコピーされて移動されると、Inboxが拡大して縮小していく様子を、Outlookの画面上で「ちらつき」が引き起こすからです。

他に解決策はありますか?

おかげ

答えて

0

見えること、拡張MAPI(IMAPIFolder::CopyMessages - C++やDelphiののみ)を使用。

Redemptionを使用する場合は、RDOMail.CopyToメソッドを実装します。次のようなものが動作するはずです:

set Session = CreateObject("Redemption.RDOSession") 
    Session.MAPIOBJECT = Application.Session.MAPIOBJECT 

    set Item = Session.GetMessageFromID(Application.ActiveExplorer.Selection(1).EntryID) 
    set Folder = Session.GetDefaultFolder(olFolderDeletedItems) 

    Item.CopyTo(Folder) 
関連する問題