
Outlook 2010 (32 ビット) Windows 7 (64 ビット)
私は Outlook 2010 (キャッシュ モードが有効になっていない) のシステムを使用していますが、ユーザーの受信トレイの下のサブフォルダーの一部が著しく肥大化しています (50000 件を超えるメッセージが含まれています)。これらのフォルダーをできるだけ効率的に削除したいと思います (ディレクトリ名/場所自体は保持したまま)。
フォルダを右クリックして「すべて削除」を選択すると、このフォルダ内のすべてのアイテムを「削除済みアイテム」フォルダに移動してもよいかどうかを確認するプロンプトが表示されます。はいをクリックすると、「削除の準備中」の進行状況バーが表示されますが、最後まで来ても何も起こりません。進行状況バーは正常に閉じますが、メッセージはまだディレクトリに残っています。
これを行う別の方法はありますか?
答え1
すべて削除選択したフォルダ内にあるアイテムのみを移動します (サブフォルダは除く)。目的の結果を得るには、次のような VBA スクリプトを記述する必要があります。
Private Sub CleanSubfolders(ByVal Folder As Folder)
For i = Folder.Items.Count To 1 Step -1
Folder.Items(i).Delete
Next
For Each Folder In Folder.Folders
CleanSubfolders Folder
Next
End Sub
Sub CleanFolders()
Set Folder = Session.PickFolder()
If Not Folder Is Nothing Then
CleanSubfolders Folder
End If
End Sub
実行中クリーンフォルダーマクロは、選択したフォルダーとそのサブフォルダー内のすべての項目を効果的に削除します。
答え2
@thim の回答の方が、私がやろうとしていたことと同じタスクを具体的に実行しているので、気に入っています。そうは言っても、最近、メッセージを完全に削除するとフォルダーもクリアされることに気付きました。
これを行うには、SHIFT
キーを押したままフォルダーを右クリックして、 を選択しますDelete All
。 今回は、すべてのメッセージを完全に削除するかどうか (ごみ箱に移動するのではなく) を尋ねるプロンプトがユーザーに表示されます。 これは機能するため、ここでの根本的な問題は、フォルダー間で大量のメッセージを移動する Outlook のバグであると思われます。