Attachment.SaveAsFile Method

Outlook Developer Reference

Saves the attachment to the specified path.

Syntax

expression.SaveAsFile(Path)

expression   A variable that represents an Attachment object.

Parameters

Name Required/Optional Data Type Description
Path Required String The location at which to save the attachment.

Example

This Visual Basic for Applications (VBA) example uses the SaveAsFile method to save the first attachment of the currently open item as a file in the Documents folder, using the attachment's display name as the file name.

Visual Basic for Applications
  Sub SaveAttachment()
    Dim myInspector As Outlook.Inspector
    Dim myItem As Outlook.MailItem
    Dim myAttachments As Outlook.Attachments
    
    Set myInspector = Application.ActiveInspector
    If Not TypeName(myInspector) = "Nothing" Then
        If TypeName(myInspector.CurrentItem) = "MailItem" Then
            Set myItem = myInspector.CurrentItem
            Set myAttachments = myItem.Attachments
            'Prompt the user for confirmation
            Dim strPrompt As String
            strPrompt = "Are you sure you want to save the first attachment in the current item to the Documents folder? If a file with the same name already exists in the destination folder, it will be overwritten with this copy of the file."
            If MsgBox(strPrompt, vbYesNo + vbQuestion) = vbYes Then
                myAttachments.Item(1).SaveAsFile Environ("HOMEPATH") & "\My Documents\" & _
                myAttachments.Item(1).DisplayName
            End If
        Else
            MsgBox "The item is of the wrong type."
        End If
    End If
End Sub

See Also