2

このような質問でよろしいかと思います。自分でコードを書こうとすることは、現時点では完全に不可能です。

Outlook 2007 用のマクロが必要です。このマクロは、送信済みアイテム フォルダに何かが到着するたびに、そのフォルダのすべてのコンテンツを完全に削除します。出来ますか?ユーザーが実行するために何かをクリックする必要がないように、すべてを設定するにはどうすればよいですか?

魚が欲しいのは分かってるし、恥ずかしいけど、本当に必要なんだ...

編集:

これを VBA エディターの新しいモジュールに貼り付けました。

Public Sub EmptySentEmailFolder()

Dim outApp As Outlook.Application
Dim sentFolder As Outlook.MAPIFolder
Dim item As Object
Dim entryID As String

Set outApp = CreateObject("outlook.application")
Set sentFolder = outApp.GetNamespace("MAPI").GetDefaultFolder(olFolderSentMail)

For i = sentFolder.Items.Count To 1 Step -1
    sentFolder.Items(i).Delete             '' Delete from mail folder
Next
Set item = Nothing
Set sentFolder = Nothing
Set outApp = Nothing
End Sub

これは、削除済みアイテムを削除するためにこのサイトのどこかで見つけたコードを少し修正したものです。実行すると、送信済みアイテムフォルダーが削除されます。フォルダーに何かが表示されるたびに送信済みアイテムを削除し、ユーザーが何もクリックしなくても実行できるように変更するのを手伝ってくれませんか? 完全に自動化されたプロセスにする必要があります。

編集 2: VBA よりもこれを実現するための優れたツールがあると思われる場合は、遠慮なくタグを編集してコメントしてください。

編集3:私は時々うまくいくことをしましたが、うまくいかないこともあります. そして、それはばかげて複雑です。添付ファイル付きのすべての送信メールを cc するルールを設定しました。別のルールは、私からのメールが届くと次のコードを実行します。

Sub Del(item As Outlook.MailItem)
Call EmptySentEmailFolder
End Sub

この物体には 3 つの動作があり、何がどの動作をトリガーするのかを特定できませんでした。場合によっては、送信済みアイテム フォルダーが削除されることがあります。何もしないこともあります。2 番目のルールで「操作に失敗しました」というエラー メッセージが表示されることがあります。

私の住所から何かが来るたびに行動するという考えは、簡潔にするために省略する理由から、最適ではありません。レポートに置き換えてみました。メールを送信するたびに配信レポートを送信するルールを作成しました。次に、別のルールがレポートの受信時にコードを実行します。ただし、これには 1 つの動作しかありません。何もしません。

どちらのアイデアも非常に複雑であるため、実際には何かがうまくいかない可能性があり、デバッグに苦労しています。どちらも最適ではないソリューションです。

4

1 に答える 1