Notifications
Clear all

Código para salvar anexo do Outlook

3 Posts
3 Usuários
0 Reactions
1,696 Visualizações
(@smile)
Posts: 33
Eminent Member
Topic starter
 

Olá pessoal!

Alguém tem um código que eu possa inserir no outlook para que ele salve anexos de determinado email toda vez que entrar na caixa de correio, ou seja que a macro filtre e entao, se for o email especificado, que coloque em uma pasta que eu possa informar qual é por exemplo C:Temp

 
Postado : 12/02/2014 7:10 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Veja se te ajuda.
Não testado!

Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
    Dim objAtt As Outlook.Attachment
    Dim saveFolder As String
        saveFolder = "C:Temp"
    Dim dateFormat As String
        'dateFormat = Format(itm.ReceivedTime, "yyyy-mm-dd Hmm ")
    For Each objAtt In itm.Attachments
        objAtt.SaveAsFile saveFolder & "" & dateFormat & objAtt.DisplayName
    Next
End Sub
      Sub WykazKodowKontrola(Item As MailItem)
         If Item.Class = olMail Then
         If Item.Attachments.Count > 0 Then
         Dim objAtt As Outlook.Attachments
         Set objAtt = Item.Attachments
         For Each objAttach In objAtt
         objAttach.SaveAsFile "C:Temp" & _
         Item.Subject & "_" & objAttach.Filename
         Next
         Set objAtt = Nothing
         End If
         End If
        End Sub

Leia:
http://www.extendoffice.com/documents/o ... ments.html

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 13/02/2014 6:22 am
(@joilsondo)
Posts: 47
Eminent Member
 

Boa tarde!
Para o código de salvar anexos, tenho uma dúvida.
Se eu receber por exemplo dois e-mails diferentes e os dois venham com anexos de nomes iguais.
Como fazer? Ele sobrescreve o primeiro, permancendo o segundo, ou dá para manter os dois, porém adicionando algum prefixo ao segundo ao salvar?

Alguém poderia me ajudar ?

Esse seria o código:

Public Sub ProcessarAnexo(Email As MailItem)
    Dim DiretorioAnexos As String
    Dim Anexo As Attachment

                      'Insira aqui o caminho da pasta onde serão salvos os arquivos
    DiretorioAnexos = "C:teste"

    '|Explicação do código - passo a passo
    
    '|Para cada e-mail que chegar e que tiver anexos, o código vai analisar o tipo/formato do anexo
    For Each Anexo In Email.Attachments
    
    '|Se for anexo do tipo .XML o código irá salvar este arquivo no caminho acima especificado
    If LCase(Right(Anexo.Filename, 3)) = "xml" Then
    
    '|O arquivo será salvo no caminho especificado com o mesmo nome enviado,
    '|não haverá alteração no nome do arquivo
    Anexo.SaveAsFile DiretorioAnexos & Anexo.Filename
    
    End If
    Next

End Sub
 
Postado : 29/02/2016 11:08 am