Boa noite amigos, me deparei com um problema nesta função:
Está função salva todos os anexos com a extenção marcada em uma pasta no computador, até ai funciona muito bem, desde que os arquivos em anexos não tenham o mesmo nome.
Estou tentando salvar os anexos mas todos ele vem com o mesmo nome, ex:
Arquivo Recebido
Infoemail_Bradesco.pdf 12/11//2012
Infoemail_Bradesco.pdf 11/11//2012
Infoemail_Bradesco.pdf 10/11//2012
Infoemail_Bradesco.pdf 09/11//2012
consequentemente tenho quatro ou mais arquivos, ele vai ler os quatro e só salvar um, pois todos tem o mesmo nome
São extratos bancarios que preciso salvá-los em uma pasta, mas como posso fazer para renomear os arquivos pela data de recebimento ou outra maneira de modo que ao
baixar do outllok não se sobreponha o primeiro, seria mais ou menos assim ou outra maneira:
Arquivo Recebido
Infoemail_Bradesco12112012.pdf 12/11//2012
Infoemail_Bradesco11112012.pdf 11/11//2012
Infoemail_Bradesco10112012.pdf 10/11//2012
Infoemail_Bradesco09112012.pdf 09/11//2012
Desde já, agradeço a quem puder me ajudar
Public Function GetAttachment()
On Error GoTo GetAttachment_err
' Declaração de variáveis
Dim ns As NameSpace
Dim Inbox As MAPIFolder
Dim Item As Object
Dim Atmt As Attachment
Dim FileName As String
Dim i As Integer
Dim intNumerador As Integer
intNumerador = intNumerador + 1
Set ns = GetNamespace("MAPI")
Set Inbox = ns.GetDefaultFolder(olFolderInbox)
i = 0
'Verifica no seu inbox se existe algum anexo de acordo com a extensão especificada
If Inbox.Items.Count = 0 Then
MsgBox "Não existem arquivos na caixa de entrada.", vbInformation, _
"Concluido"
Exit Function
End If
' Check each message for attachments
For Each Item In Inbox.Items
For Each Atmt In Item.Attachments
If Right(Atmt.FileName, 3) = "pdf" Then
FileName = "D:\ExtratosBradesco\" & Atmt.FileName
Atmt.SaveAsFile FileName
i = i + 1
End If
Next Atmt
Next Item
If i > 0 Then
MsgBox "Encontrados " & i & " arquivo(s)." _
& vbCrLf & "Arquivos salvos em D:\ExtratosBradesco." _
& vbCrLf, vbInformation, "Concluído!"
Else
MsgBox "I didn't find any attached files in your mail.", vbInformation, "Finished!"
End If
' Clear memory
GetAttachment_exit:
Set Atmt = Nothing
Set Item = Nothing
Set ns = Nothing
Exit Function
' Handle errors
GetAttachment_err:
MsgBox "An unexpected error has occurred." _
& vbCrLf & "Please note and report the following information." _
& vbCrLf & "Macro Name: GetAttachment" _
& vbCrLf & "Error Number: " & Err.Number _
& vbCrLf & "Error Description: " & Err.Description _
, vbCritical, "Error!"
Resume GetAttachment_exit
End Function
Está função salva todos os anexos com a extenção marcada em uma pasta no computador, até ai funciona muito bem, desde que os arquivos em anexos não tenham o mesmo nome.
Estou tentando salvar os anexos mas todos ele vem com o mesmo nome, ex:
Arquivo Recebido
Infoemail_Bradesco.pdf 12/11//2012
Infoemail_Bradesco.pdf 11/11//2012
Infoemail_Bradesco.pdf 10/11//2012
Infoemail_Bradesco.pdf 09/11//2012
consequentemente tenho quatro ou mais arquivos, ele vai ler os quatro e só salvar um, pois todos tem o mesmo nome
São extratos bancarios que preciso salvá-los em uma pasta, mas como posso fazer para renomear os arquivos pela data de recebimento ou outra maneira de modo que ao
baixar do outllok não se sobreponha o primeiro, seria mais ou menos assim ou outra maneira:
Arquivo Recebido
Infoemail_Bradesco12112012.pdf 12/11//2012
Infoemail_Bradesco11112012.pdf 11/11//2012
Infoemail_Bradesco10112012.pdf 10/11//2012
Infoemail_Bradesco09112012.pdf 09/11//2012
Desde já, agradeço a quem puder me ajudar
Public Function GetAttachment()
On Error GoTo GetAttachment_err
' Declaração de variáveis
Dim ns As NameSpace
Dim Inbox As MAPIFolder
Dim Item As Object
Dim Atmt As Attachment
Dim FileName As String
Dim i As Integer
Dim intNumerador As Integer
intNumerador = intNumerador + 1
Set ns = GetNamespace("MAPI")
Set Inbox = ns.GetDefaultFolder(olFolderInbox)
i = 0
'Verifica no seu inbox se existe algum anexo de acordo com a extensão especificada
If Inbox.Items.Count = 0 Then
MsgBox "Não existem arquivos na caixa de entrada.", vbInformation, _
"Concluido"
Exit Function
End If
' Check each message for attachments
For Each Item In Inbox.Items
For Each Atmt In Item.Attachments
If Right(Atmt.FileName, 3) = "pdf" Then
FileName = "D:\ExtratosBradesco\" & Atmt.FileName
Atmt.SaveAsFile FileName
i = i + 1
End If
Next Atmt
Next Item
If i > 0 Then
MsgBox "Encontrados " & i & " arquivo(s)." _
& vbCrLf & "Arquivos salvos em D:\ExtratosBradesco." _
& vbCrLf, vbInformation, "Concluído!"
Else
MsgBox "I didn't find any attached files in your mail.", vbInformation, "Finished!"
End If
' Clear memory
GetAttachment_exit:
Set Atmt = Nothing
Set Item = Nothing
Set ns = Nothing
Exit Function
' Handle errors
GetAttachment_err:
MsgBox "An unexpected error has occurred." _
& vbCrLf & "Please note and report the following information." _
& vbCrLf & "Macro Name: GetAttachment" _
& vbCrLf & "Error Number: " & Err.Number _
& vbCrLf & "Error Description: " & Err.Description _
, vbCritical, "Error!"
Resume GetAttachment_exit
End Function