dポイントプレゼントキャンペーン実施中!

アウトルックで、受信トレイのメールを未読のまま削除して、削除済みアイテムへ移動させるのですが、
たくさん溜まった削除済みアイテムの未読をVBAで既読にする方法はありますか?

手作業なら
削除済みアイテム→すべて開封済みにする
でできます。

VBAでやる方法をお願いします。

A 回答 (1件)

削除済みアイテムのメッセージをすべて開封済みにするものを作ってみました。



Sub DeletedAllRead()
Dim oOL
Dim myDeletedFolder
Dim myNamespace
Dim e
Set oOL = CreateObject("Outlook.Application")
Set myNamespace = oOL.GetNamespace("MAPI")
Set myDeletedFolder = myNamespace.GetDefaultFolder(3) 'olFolderDeletedItems = 3
For Each e In myDeletedFolder.Items
e.UnRead = False
Next
End Sub


動作確認はWindows XP上のOffice 2007で行いました。

Outlook以外のVBAで動作させるものとして作ったのですが、Outlook VBAでもそのままで動作OKでした。(Outlook VBAでCreateObject("Outlook.Application")はいかにも間抜けですが)

Outlookを終了させるコード(oOL.Quit)は入っていませんが、テストした限りにおいては大丈夫なようです。
(Outlookが起動していな状態でOutlook以外のVBAで上記プロシージャを動作させると終了後OUTLOOK.EXEのプロセスが自動的に消えました)

ついでの話ですが、プロシージャの外(前でも後ろでも)に一行
DeletedAllRead
を追加して.vbsファイルにテキスト保存したところVBScriptで動作しました。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2013/05/02 22:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!