Ad3s
New member
- Joined
- Apr 9, 2021
- Messages
- 3
- Programming Experience
- Beginner
I'm trying to get a specific file from an e-mail in outlook 2016. i found some code on internet but it attracked all de attachments from all e-mails.
I need to retrieve a specific attachment Lest say "Test.xlsx" to a specific directory Lets say "C:\Temp"
Below is the code i used from internet, it is working but not for my specific file.
I'm using visual studio 2017
Can someone help me with this ??
	
		
			
		
		
	
				
			I need to retrieve a specific attachment Lest say "Test.xlsx" to a specific directory Lets say "C:\Temp"
Below is the code i used from internet, it is working but not for my specific file.
I'm using visual studio 2017
Can someone help me with this ??
Public Class Form1
    Inherits Form
#Region " Windows Form Designer generated code "
#End Region
    Private fiCount As Integer
    Private fsPath As String = "C:\Temp\"
    Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        If SaveAttachments(fsPath) Then 'object is created
            MessageBox.Show(fiCount & " file(s) saved in " & fsPath)
        Else 'object bombed out
            MessageBox.Show("Cannot create Outlook object. Check that Outlook is running.")
        End If
    End Sub
    Public Function SaveAttachments(ByVal sPathName As String) As Boolean
        '************************************************************
        '   USAGE:  SAVES ATTACHMENTS FROM INBOX TO A DIRECTORY
        '   PATH NAME MUST HAVE "\" AT THE END
        '   REQUIRES: OUTLOOK TO BE INSTALLED ON RUNNING MACHINE AND
        '   A REFERENCE TO THE OUTLOOK OBJECT LIBRARY
        '   RETURNS:  TRUE IF SUCCESSFUL, FALSE OTHERWISE
        '*************************************************************
        Dim oOutlook As Outlook.Application
        Dim oNs As Outlook.NameSpace
        Dim oFldr As Outlook.MAPIFolder
        Dim oMessage As Object
        'Dim oAttachment As Outlook.Attachment
        Dim iCtr As Integer
        Dim iAttachCnt As Integer
        Dim sFileName As String
        Try
            oOutlook = New Outlook.Application
            oNs = oOutlook.GetNamespace("MAPI")
            'get Inbox folder
            oFldr = oNs.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)
            'browse the folder 
            For Each oMessage In oFldr.Items
                With oMessage.Attachments
                    iAttachCnt = .Count
                    If iAttachCnt > 0 Then
                        'if we have attachment
                        For iCtr = 1 To iAttachCnt
                            Try
                                sFileName = .Item(iCtr).FileName.ToString
                                .Item(iCtr).SaveAsFile(sPathName & sFileName)
                                fiCount += 1
                            Catch ex As Exception
                                'do nothing
                            End Try
                        Next iCtr
                    End If
                End With
                Application.DoEvents()
            Next oMessage
            Return True
        Catch
            Return False
        Finally
            oMessage = Nothing
            oFldr = Nothing
            oNs = Nothing
            oOutlook = Nothing
        End Try
    End Function
End Class
 
	 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		