Ir para conteúdo
Fórum Script Brasil
  • 0

Importação de Arquivos XML e Exportação para TXT


Wandarley Pereira

Pergunta

Estou com um problema, eu estou com um código que guarda os arquivos anexados do Outlook, XML, PDF e outras extensões se quiser, mas preciso de uma outra coisa;
No momento que chega um XML eu preciso que ele antes do arquivo chegue a pasta designada ele seja convertido em TXT
Consegue me ajudar???

Resumindo
Quando o XML chega no e-mail o codigo vai converter ele para TXT e salva o txt na pasta e não consegui resolver, irei partilhar meu codigo.

Este Codigo pega os Anexos que recebemos no Outlook e guarda em uma pasta da Rede;

Public Sub SalvaAnexos(Email As MailItem)
Dim DiretorioAnexos As String
'aqui voce altera o diretorio que vai salvar os anexos
DiretorioAnexos = "\\111.111.111.111\NFE\XML"

Dim MailID As String
Dim Mail As Outlook.MailItem

MailID = Email.EntryID
Set Mail = Application.Session.GetItemFromID(MailID)

For Each Anexo In Mail.Attachments
'Para adicionar outra extenção so colocar mais um if
If Right(Anexo.FileName, 3) = "xml" Then
Anexo.SaveAsFile DiretorioAnexos & "\" & Anexo.FileName

End If

If Right(Anexo.FileName, 3) = "pdf" Then
Anexo.SaveAsFile DiretorioAnexos & "\" & Anexo.FileName

End If
'Creditos Wandarley Pereira ©
Next

Set Mail = Nothing
End Sub



Se Alguém puder me ajudar agradeço

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Um arquivo XML, por si só já é um arquivo texto. Aí depende se você quer apenas mudar a extensão de XML para TXT ou se precisa realmente pegar o conteúdo do arquivo XML e retirar as tags (ficando só os valores). Se for este último, você vai precisar abrir o XML e ler o conteúdo do mesmo. Neste caso, dê uma olhada nestes tópicos:

https://www.scriptbrasil.com.br/forum/topic/67806-visual-basic-xml/

https://www.scriptbrasil.com.br/forum/topic/100121-xml/

E caso seja apenas trocar a extensão, creio que você possa mudar o seguinte:

If Right(Anexo.FileName, 3) = "xml" Then
    Anexo.SaveAsFile DiretorioAnexos & "\" & Replace(Anexo.FileName, ".xml", ".txt")
End If

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0
Olá Wanderley, tudo bem?
Sou meio leigo no Outlook.
Eu recebo +ou - MIL xml por dia, um opor e-mail, e é muito desgastante ter que entrar em cada e-mail para baixar o arquivo. :(
Já pesquisei e tentei criar as macros, mas infelizmente não deu certo, acho que porque não estou sabendo dar as coordenadas certas no outlook.
Poderia me ajudar com um passo-a-passo para configurar o outlook com esta sua macro?
Ah... minha versão é a 2010, não sei se é a mesma que a sua, mas se não for eu volto para a versão 2007.
Desde já agradeço muito sua ajuda.
Tomaz.
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...