Bom dia,
Alguém saberia me apontar porque a rotina abaixo não está funcionando... O objetivo é salvar os arquivos xml recebidos em uma determinada pasta e renomeá-lo com informações do xml. Desde já agradeço!!!
Public Sub Processar_Email(EMail As MailItem)
Dim DiretorioAnexo, MailID As String
Dim Mail As Outlook.MailItem
Dim Anexo As Attachment
Dim fso
DiretorioAnexo = "\\Parolisrv01\sge\NFe\2016\ENTRADA\"
MailID = EMail.EntryID
Set Mail = Application.Session.GetItemFromID(MailID)
For Each Anexo In Mail.Attachments
On Error Resume Next
If Right(Anexo.FileName, 3) = "xml" Then
MsgBox ("O arquivo " & Anexo.FileName & " será salvo.")
Anexo.SaveAsFile DiretorioAnexo & Anexo.FileName
Set objParser = CreateObject("Microsoft.XMLDOM")
objParser.Load (DiretorioAnexo + Anexo.FileName)
Set ElemList = objParser.getElementsByTagName("chNFe")
FilePath = ElemList.Item(0).getAttribute("filePath")
oldfilename = DiretorioAnexo + Anexo.FileName
Set ElemList = objParser.getElementsByTagName("nNF")
nNF = Format(ElemList.Item(0).Text, "000000")
Set ElemList = objParser.getElementsByTagName("dhEmi")
dhEmi = Left(ElemList.Item(0).Text, 10)
Set ElemList = objParser.getElementsByTagName("xNome")
xNome = Left(ElemList.Item(0).Text, 5)
NewFileName = DiretorioAnexo + dhEmi + "_" + xNome + "_" + nNF + ".xml"
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(NewFileName)) Then
fso.DeleteFile oldfilename
Else
fso.MoveFile oldfilename, NewFileName
End If
End If
Next
Set Mail = Nothing
End Sub
Alguém saberia me apontar porque a rotina abaixo não está funcionando... O objetivo é salvar os arquivos xml recebidos em uma determinada pasta e renomeá-lo com informações do xml. Desde já agradeço!!!
Public Sub Processar_Email(EMail As MailItem)
Dim DiretorioAnexo, MailID As String
Dim Mail As Outlook.MailItem
Dim Anexo As Attachment
Dim fso
DiretorioAnexo = "\\Parolisrv01\sge\NFe\2016\ENTRADA\"
MailID = EMail.EntryID
Set Mail = Application.Session.GetItemFromID(MailID)
For Each Anexo In Mail.Attachments
On Error Resume Next
If Right(Anexo.FileName, 3) = "xml" Then
MsgBox ("O arquivo " & Anexo.FileName & " será salvo.")
Anexo.SaveAsFile DiretorioAnexo & Anexo.FileName
Set objParser = CreateObject("Microsoft.XMLDOM")
objParser.Load (DiretorioAnexo + Anexo.FileName)
Set ElemList = objParser.getElementsByTagName("chNFe")
FilePath = ElemList.Item(0).getAttribute("filePath")
oldfilename = DiretorioAnexo + Anexo.FileName
Set ElemList = objParser.getElementsByTagName("nNF")
nNF = Format(ElemList.Item(0).Text, "000000")
Set ElemList = objParser.getElementsByTagName("dhEmi")
dhEmi = Left(ElemList.Item(0).Text, 10)
Set ElemList = objParser.getElementsByTagName("xNome")
xNome = Left(ElemList.Item(0).Text, 5)
NewFileName = DiretorioAnexo + dhEmi + "_" + xNome + "_" + nNF + ".xml"
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(NewFileName)) Then
fso.DeleteFile oldfilename
Else
fso.MoveFile oldfilename, NewFileName
End If
End If
Next
Set Mail = Nothing
End Sub