To post as a guest, your comment is unpublished.· 1 years agoDear Rene,
Please follow the steps in the above second method, run the below VBA code. In an opening dialog box, please enter the attachment's name with the file extension (such as test.docx), and then click the OK button to just remove it from the selected email.
Dim xMail As Outlook.MailItem
Dim xAttachments As Outlook.Attachments
Dim xSelection As Outlook.Selection
Dim i, xCount As Long
Dim xFile, xFldPath, xDelFiles, xFileName As String
Dim xFlag As Boolean
xFldPath = CreateObject("shell.Application").NameSpace(5).self.Path
On Error Resume Next
Set xSelection = Outlook.ActiveExplorer.Selection
xFldPath = xFldPath & "\OLAttachments"
xFlag = False
xFileName = InputBox("Attachment name:", "Kutools for Outlook")
If StrPtr(xFileName) = 0 Then Exit Sub
If xFileName <> "" Then
For Each xMail In xSelection
Set xAttachments = xMail.Attachments
xCount = xAttachments.Count
If xCount > 0 Then
For i = xCount To 1 Step -1
xFile = xAttachments.Item(i).FileName
If xFileName = xFile Then
xFlag = True
xFile = xFldPath & "\" & xFile
If xMail.BodyFormat <> olFormatHTML Then
xDelFiles = xDelFiles & vbCrLf & ""
xDelFiles = xDelFiles & "
" & "" & xFile & ""
If xFlag = True Then
If xMail.BodyFormat <> olFormatHTML Then
xMail.Body = xMail.Body & vbCrLf & "The file(s) were saved to " & xDelFiles
xMail.HTMLBody = xMail.HTMLBody & "
" & "The file(s) were saved to " & xDelFiles & "
xDelFiles = ""
If xFlag = False Then
MsgBox "The Attachment does not exist!"
MsgBox "The attachment has been deleted."
MsgBox "Please input a attachment name"
Set xAttachments = Nothing
Set xMail = Nothing
Set xSelection = Nothing
How to remove all attachments from email in Outlook?
Normally when you are previewing an email, you can delete an attachment with right clicking and select the Remove Attachment item. Sometimes there may be many attachments in an email message, and it will be tedious to remove them one by one. Here we arrange you with two easy tricks to remove all attachments in one email, and remove all attachments from multiple emails as well in Outlook.
Office Tab: Enable Tabbed Editing and Browsing in Office, Just Like Chrome, Firefox, IE 8/9/10.
Classic Menu: Bring Old Menus and Toolbars Back to Office 2007, 2010, 2013, 2016 and 2019.
It is easy to remove all attachments in a selected email messages with the Remove Attachments feature in Outlook.
Step 1: Select the email message whose attachments you will remove later.
Step 2: Click one of attachments in the Reading Pane to activate the Attachments Tools.
Step 3: Click the Select All button in the Selection group on the Attachments tab.
This step will enable you to select all attachments in this selected email messages at once.
Step 4: Click the Remove Attachment button in the Actions group on the Attachments tab.
Step 5: In the warning dialog box, click the Remove Attachments button.
Then all attachments in this selected email messages are deleted as soon as possible.
Note: The Remove Attachments feature works fine in Outlook 2010 and 2013, but not in Outlook 2007.
If you want to remove all attachments from multiple email messages in Microsoft Outlook, the following method will help you do it easily. We recommend you enable all macros in your Microsoft Outlook firstly.
Step 1: Go to the folder of My Document, create a new folder, and name it as OLAttachments
Step 2: Select multiple email messages whose attachments you will remove later.
Note: You can select inconsecutive email messages with holding the Ctrl key and clicking.
You can select consecutive email messages with holding the Shift key and clicking.
Step 3: Open the VBA Editor with pressing the Alt key and F11 key at the same time.
Step 4: Expand the Project1 > Microsoft Outlook Objects in the left bar, and then double click the ThisOutlookSession to open it in the Editor. See following screen shot:
Step 5: Copy and paste the following VBA code in the editing pane.
Public Sub ReplaceAttachmentsToLink() Dim objApp As Outlook.Application Dim aMail As Outlook.MailItem 'Object Dim oAttachments As Outlook.Attachments Dim oSelection As Outlook.Selection Dim i As Long Dim iCount As Long Dim sFile As String Dim sFolderPath As String Dim sDeletedFiles As String ' Get the path to your My Documents folder sFolderPath = CreateObject("WScript.Shell").SpecialFolders(16) On Error Resume Next ' Instantiate an Outlook Application object. Set objApp = CreateObject("Outlook.Application") ' Get the collection of selected objects. Set oSelection = objApp.ActiveExplorer.Selection ' Set the Attachment folder. sFolderPath = sFolderPath & "\OLAttachments" ' Check each selected item for attachments. If attachments exist, ' save them to the Temp folder and strip them from the item. For Each aMail In oSelection ' This code only strips attachments from mail items. ' If aMail.class=olMail Then ' Get the Attachments collection of the item. Set oAttachments = aMail.Attachments iCount = oAttachments.Count If iCount > 0 Then ' We need to use a count down loop for removing items ' from a collection. Otherwise, the loop counter gets ' confused and only every other item is removed. For i = iCount To 1 Step -1 ' Save attachment before deleting from item. ' Get the file name. sFile = oAttachments.Item(i).FileName ' Combine with the path to the Temp folder. sFile = sFolderPath & "\" & sFile ' Save the attachment as a file. oAttachments.Item(i).SaveAsFile sFile ' Delete the attachment. oAttachments.Item(i).Delete 'write the save as path to a string to add to the message 'check for html and use html tags in link If aMail.BodyFormat <> olFormatHTML Then sDeletedFiles = sDeletedFiles & vbCrLf & "<file://" & sFile & ">" Else sDeletedFiles = sDeletedFiles & "<br>" & "<a href='file://" & _ sFile & "'>" & sFile & "</a>" End If Next i 'End If ' Adds the filename string to the message body and save it ' Check for HTML body If aMail.BodyFormat <> olFormatHTML Then aMail.Body = aMail.Body & vbCrLf & _ "The file(s) were saved to " & sDeletedFiles Else aMail.HTMLBody = aMail.HTMLBody & "<p>" & _ "The file(s) were saved to " & sDeletedFiles & "</p>" End If aMail.Save 'sets the attachment path to nothing before it moves on to the next message. sDeletedFiles = "" End If Next 'end aMail ExitSub: Set oAttachments = Nothing Set aMail = Nothing Set oSelection = Nothing Set objApp = Nothing End Sub
Step 6: Press the key of F5 to run this VBA code.
Now all attachments from selected email messages are removed, with leaving hyperlinks to each deleted attachment at the bottom of all selected email messages.
Easily remove all attachments from one or multiple emails with Kutools for Outlook (just several clicks)
The Detach All attachments utility of Kutools for Outlook can quickly remove all attachments from one or multiple selected emails in Outlook. Please do as follows.
1. Select one or multiple email messages with the attachments you want to remove, then click Kutools > Detach All. See screenshot:
2. In the Please select a folder dialog box, click the Browse button to select a folder to save all deleted attachments. Check the Create subfolders in the following style box, and then select a folder style from the drop-down list. And finally click the OK button. See screenshot:
3. Click the Yes button in the Detach All dialog box.
4. Then a Kutools for Outlook dialog box will pop up to tell you how many attachments are deleted. Please click the OK button.
Now all attachments are removed immediately with only the hyperlinks leaving in selected emails. You can click the hyperlink to open the corresponding attachment as you need.
If you want to have a free trial of this utility, please go to free download the software first, and then go to apply the operation according above steps.
Kutools for Outlook includes 20+ powerful features and tools for Microsoft Outlook. Free to try with no limitation in 45 days. Download the free trial now!
Recommended Productivity Tools
- Complicated and repeated operations can be done a one-time processing in seconds.
- Forward multiple emails individually with one-click, and auto forward by rules.
- Auto CC/BCC every sending email and easy for customizing rules, and auto reply without requiring exchange server.
- Powerful junk emails filter, remove duplicate emails, reply with attachment, bunch of one-click operations, and so on...
- 60-day unlimited free trial. 60-day money back guarantee. 2 years free upgrade and support. Buy once, use forever.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
To post as a guest, your comment is unpublished.· 1 years agoCan somebody change the code so that only for example attachments named "TermsAndConditions.pdf" are deleted
To post as a guest, your comment is unpublished.
To post as a guest, your comment is unpublished.· 1 years agoThe VBA Code solution was great .... worked beautifully
To post as a guest, your comment is unpublished.· 1 years agoCompile Error Sub or Function not defined??
To post as a guest, your comment is unpublished.· 1 years agoVBA code worked great. Many thanks!