Possuo um projeto de leitura do xml da nota fiscal passando a extrair algumas tags de que necessito p/ o excel, mas quando o programa passa por uma tag que defini e ele nao a encontra no xml entao ocorre um erro! Preciso fazer um IF para verificar se as tags do XML existem e nao sei como fazer isso! Alguem pode me ajudar?
Boa noite Michel, me passa um print do seu vb dessa parte que verifica o xml para ter ideia e tentar lhe ajudar, obrigado.
Ola Michel,
O ideal era ver o seu codigo para entender a melhor solucao para o seu caso, uma possibildade eh voce incrementar um On Error Statement que desviaria o seu codigo para uma etapa que voce definir e dessa formula, elimina a mensagem de erro.
veja nesse link abaixo o conteudo em ingles
espero que tenha lhe ajudado
Um Abraco.
Miche, no Excel, você pode usar fórmulas para fazer essa verificação. Vou explicar como fazer isso usando a função PROCV
, que é útil para buscar valores em uma tabela ou matriz.
Supondo que você tenha os dados XML em uma coluna no Excel, você pode usar a fórmula PROCV
para verificar se a tag existe e, em seguida, extrair o valor dela.
Aqui está um exemplo de como fazer isso:
Suponha que você tenha o seguinte XML em uma célula do Excel (vou usar a célula A1 como exemplo):
<nota>
<numero>12345</numero>
<descricao>Compra de produtos</descricao>
</nota>
Agora, suponha que você deseje extrair o valor da tag <numero>
para outra célula (por exemplo, célula B1) e quer lidar com o caso em que a tag não existe.
Em B1, você pode usar a seguinte fórmula:
=SE(ÉERROS(PROCV("<numero>",A1:A1,1,FALSO)),"Tag não encontrada",PROCV("<numero>",A1:A1,1,FALSO))
Agora você pode seguir esses passos:
PROCV("<numero>",A1:A1,1,FALSO)
: Esta parte da fórmula tenta procurar a tag <numero>
na célula A1. O PROCV
retorna um valor se encontrar a tag e um erro (#N/D) caso não encontre. A referência A1:A1
é usada para limitar a pesquisa à célula A1.ÉERROS(...)
: Esta parte envolve a primeira parte da fórmula com a função ÉERROS
, que retorna VERDADEIRO se a função PROCV
encontrar um erro (#N/D) e FALSO se encontrar um valor.SE(ÉERROS(...),"Tag não encontrada",...)
: Aqui, estamos usando a função SE
para verificar se ocorreu um erro ao tentar encontrar a tag <numero>
. Se ocorreu um erro, a fórmula exibe a mensagem "Tag não encontrada". Caso contrário, a fórmula retornará o valor encontrado pela função PROCV
.Isso permitirá que você lide com o caso em que a tag não existe no XML, exibindo uma mensagem personalizada em vez de um erro.
Você pode aplicar a mesma lógica para extrair outras tags do XML e manipular os dados conforme necessário no Excel. Certifique-se de ajustar a referência da célula (por exemplo, A1:A1
) à coluna onde seus dados XML estão armazenados.