This question from Outlook user wanted to know how to remove several attachments from a message in one step.
I want to keep sent messages but not the attachments. Is there an easier method than clicking on the attachment to delete it? Better yet, can I select several sent messages and remove the attachments from all of the messages?
Outlook doesn't have this functionality built in so you'll need to use an add-in or VBA, but yes, it can be done.
See Attachment Management Tools for Outlook for add-ins or More Information for additional macros, including code samples that can save the attachments to the hard drive before deleting them from the message.
This code will work with sent or received messages, in any folder. To use, add the code to the VBA editor, select the messages that you want to delete the attachment from and run it.
Sub DeleteAllAttachmentsFromSelectedMessages() Dim myAttachment As Attachment Dim myAttachments As Attachments Dim selItems As Selection Dim myItem As Object Dim lngAttachmentCount As Long ' Set reference to the Selection. Set selItems = ActiveExplorer.Selection ' Loop though each item in the selection. For Each myItem In selItems Set myAttachments = myItem.Attachments lngAttachmentCount = myAttachments.Count ' Loop through attachments until attachment count = 0. While lngAttachmentCount > 0 myAttachments(1).Delete lngAttachmentCount = myAttachments.Count Wend myItem.Save Next MsgBox "All Done. Attachments were removed.", vbOKOnly, "Message" Set myAttachment = Nothing Set myAttachments = Nothing Set selItems = Nothing Set myItem = Nothing End Sub
VBA: Save Attachments to hard drive (Outlook-Tips.net) Can easily be tweaked to delete the attachment without saving it.