Outlook 2013 を使用しています。新しいメールを作成するときに、そのメールを送信する必要がなくなった場合に備えて、そのメールをすぐに削除する方法が通常あります。Outlook でこれを行う方法はありますか?
メッセージを閉じようとしましたが (保存/保持を求められても選択しませんでした)、削除済みアイテム フォルダーに新しい未読アイテムが作成され、クリスマス ツリーのように点灯してしまいます。その後、手動でそのフォルダーにアクセスして下書きをクリーンアップする必要があります。
Gmail のゴミ箱アイコンのようなものを探しています。 メッセージを一度で完全に削除できる、シンプルで手間のかからない方法です。 (念のため下書きを保存したい場合もありますが、ほとんどの場合はそうではありません。)
更新: 上部の「クイック アクセス ツールバー」に「削除」ボタンを表示できます。これにより、メッセージ項目が削除されます。これは、新しいメールを入力し始めたときに機能します。削除をクリックすると、必須の警告の後にメッセージが破棄されます。ただし、(!)、メールが自動保存されるとすぐに (しばらくしてから)、下書きフォルダーに移動します。この時点でメッセージを削除すると、メッセージは削除済みアイテムに移動されるだけなので、保持されます。
新しいメールを作成するときに、Outlook が Gmail のゴミ箱ボタンを模倣するようにする設定はありますか? これは非常に単純な使用例です。「書き始めたばかりのメールを送信したくない、気が変わった、削除したい、すべての痕跡を消去したい」。これは Microsoft 機能のもう 1 つの欠点ですか?
答え1
- 次のようなVBAスクリプトを書くことができます。破棄メッセージを既読にして削除することで削除されたアイテムその後、マクロを実行するボタンをメッセージ ウィンドウに配置します (リボンのカスタマイズ -> マクロを使用)。
このようなもの:
Sub Discard()
On Error Resume Next
Dim objItem As MailItem
Set objInspector = ActiveInspector
If Not objInspector Is Nothing Then
Set objItem = objInspector.CurrentItem
If Not objItem Is Nothing And Not objItem.Sent Then
objItem.UnRead = False
objItem.Delete
End If
End If
End Sub
- 無料クイック調整アドイン削除されたすべてのアイテムを自動的に既読としてマークできます。
- SHIFT+DELメッセージリスト内の選択されたメッセージを削除し、配置しない削除されたアイテム。
答え2
削除済みフォルダーに追加されたアイテムを自動的に既読としてマークする方法を見つけました。このソリューションでは、マクロにリンクされたボタンを追加する必要はありません。
VBA エディターで「ThisOutlookSession」に次のコードを追加するだけです。
Private WithEvents deletedItems As Outlook.Items
Private Sub Application_Startup()
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
'Default folder for deleted items
Set deletedItems = objNS.GetDefaultFolder(olFolderDeletedItems).Items
End Sub
Private Sub deletedItems_ItemAdd(ByVal Item As Object)
Dim deletedEmail As Outlook.MailItem
If TypeName(Item) = "MailItem" Then
Set deletedEmail = Item
deletedEmail.UnRead = False
End If
End Sub
動作させるには Outlook を再起動する必要があります。
これは下書きだけでなく、削除されたすべてのメールに適用されることに注意してください。
答え3
現在のバージョンの Outlook では、ウィンドウの右端の中央に多数のアクション ボタンがあり、その中に破棄を表す赤い X があります。
Outlook のユーザー インターフェイスがかなりひどくて直感的ではないことには同意しますが、下書きメッセージを破棄するためだけにマクロを作成する必要はないはずです。
答え4
私が最終的に使用したバージョンには、削除後にメール アイテムを [削除済みアイテム] から削除するコードが含まれています。
Sub Discard()
On Error Resume Next
Dim objItem As MailItem
Set objInspector = ActiveInspector
If Not objInspector Is Nothing Then
Set objItem = objInspector.CurrentItem
If Not objItem Is Nothing And Not objItem.Sent Then
'no EntryID exists for freshly created mail, but does for a draft
MyEntryId = objItem.EntryID
objItem.UnRead = False
objItem.Delete
If Not MyEntryId = "" Then
Dim oDeletedItems As Outlook.Folder
'Obtain a reference to deleted items folder
Set oDeletedItems = Application.Session.GetDefaultFolder(olFolderDeletedItems)
'Delete last item from Deleted Items
oDeletedItems.Items.Item(oDeletedItems.Items.Count).Delete
End If
End If
End If
End Sub