VBA XML

VBA XML

VBA XML

VBA do Excel XML

A forma completa do XML eXtensible Markup Language, que é muito semelhante a um arquivo HTML, é projetado para armazenar e transportar os dados a partir de diferentes programas. O arquivo XML armazena os dados que incluem as divisões e separadores. Podemos criar um código VBA pelo qual podemos importar os dados do arquivo XML para o Excel. Para importar os dados do arquivo XML para qualquer outro formato, precisamos definir algumas regras que informam que tipo de dados e campos podem ser usados no arquivo XML. Para criar uma macro no VBA para o arquivo XML, não precisamos de bloco de notas XML obrigatório em nosso sistema. Mas se tivermos, será fácil para nós ler o arquivo XML para os dados de que precisamos.

embora no Excel, temos uma provisão de importar os dados do arquivo XML, mas usando VBA, podemos ler, importar o arquivo XML no Excel.

Assista nossos cursos de demonstração e vídeos

avaliação, Hadoop, Excel, Aplicativos Móveis, desenvolvimento Web & muitos mais.

tipos de nó em VBA XML

em XML, temos uma variedade de nós que ajuda construtivamente na leitura e análise do arquivo XML em outras fontes, como Word ou Excel. Cada DocumentElement refere-se a algumas das listas de nós abaixo.

  • Nó Pai
  • Primeiro Filho
  • Último Filho
  • Nós Filho
  • Próximo Irmão
  • Irmão Anterior

Todos os acima mencionados nós confirmar o tipo , onde só nós filhos são o tipo de matriz de .

neste exemplo, veremos um código VBA muito simples para acessar o arquivo XML salvo em qualquer local do sistema individual e carregá-los no VBA. Normalmente, para importar arquivos XML no Excel usando VBA, temos MSXML2.DOMDocument objeto para nos permitir atravessar os dados através da estrutura XML. Mas isso não pode ser usado neste exemplo.

para isso, devemos ter um arquivo XML no qual podemos criar uma estrutura de dados na forma de esquema. Abaixo está a captura de tela do esquema da empresa em que temos a filial do funcionário com os detalhes do funcionário, como nome, sobrenome, número de Contato, ID de E-mail.

VBA Código XML

VBA Código XML

VBA Árvore XML

VBA Árvore XML

Passos para Importar & Adicionar XML no Excel VBA

Abaixo estão os exemplos de XML no Excel, utilizando o Código do VBA.

você pode baixar este modelo VBA XML Excel aqui – modelo VBA XML Excel

exemplo #1

Passo 1: Primeiro vá para inserir a guia do menu no VBA e abra um módulo onde estaremos escrevendo os dados transversais do código através do XML, conforme mostrado abaixo.

inserir Módulo

insira o módulo

Etapa 2: Escreva o subprocedimento em nome do VBA XML para a definição do Código.

Código:

Sub VBA_XML()End Sub

exemplo XML VBA 1-2

exemplo XML VBA 1-2

Passo 3: Como já discutimos, para o arquivo XML, exigiremos objeto. Então, agora defina uma variável usando DIM como String que será usada para armazenar o nome do arquivo.

Código:

Sub VBA_XML()Dim XMLFile As StringEnd Sub

exemplo XML VBA 1-3

exemplo XML VBA 1-3

Passo 4: Agora vamos usar um aplicativo Exibir alertas que é usado para mostrar a mensagem de alerta se o caminho escolhido estiver incorreto.

Código:

Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseEnd Sub

VBA XML de Exemplo 1-4

VBA XML de Exemplo 1-4

Passo 5: Agora vamos colocar o link ou o local onde temos mantido arquivo XML e atribuir à variável definida.

Código:

Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"End Sub

exemplo XML VBA 1-5

exemplo XML VBA 1-5
Nota: Mantenha o arquivo XML no local que é fácil de acessar.

Passo 6: Como discutimos, obteremos o primeiro objeto com MSXML2.DOMDoucment.

Código:

Sub VBA_XML()Dim CusDoc As ObjectDim Base As ObjectSet CusDoc = CreateObject("MSXML2.DOMDoucment")End Sub

VBA XML de Exemplo 1-6

VBA XML de Exemplo 1-6

Passo 7: Para carregar os dados do arquivo XML no Excel, precisamos abrir o arquivo XML, usando o nome e o local que temos armazenados no Arquivo XML variável e selecione a opção carregar como Importar a Lista, como mostrado abaixo.

Código:

Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Workbooks.OpenXML Filename:=XMLFile, LoadOption:=xlXmlLoadImportToListEnd Sub

VBA XML de Exemplo 1-7

VBA XML de Exemplo 1-7

Passo 8: Por fim, use novamente a opção do aplicativo para exibir o alerta como verdadeiro, se houver algum.

Código:

Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Workbooks.OpenXML Filename:=XMLFile, LoadOption:=xlXmlLoadImportToListApplication.DisplayAlerts = TrueEnd Sub

VBA XML de Exemplo 1-8

VBA XML de Exemplo 1-8

Passo 9: Agora vamos compilar o código escrito, pressionando F8 chave funcional e executá-lo, se não há nenhum erro encontrado durante a compilação.

veremos que os dados armazenados no arquivo XML não são importados em uma nova pasta de trabalho, conforme mostrado abaixo. Podemos buscar qualquer comprimento de dados do arquivo XML no Excel usando este código VBA simples.

VBA XML de Exemplo 1-8

VBA XML de Exemplo 1-8

Exemplo #2

não Há outra maneira de importar os dados de um arquivo XML usando o Código VBA que é simples demais. Para isso, podemos ter outro módulo De podemos fazer as alterações no mesmo módulo também.

Etapa 1: para isso novamente, exigiríamos um módulo e escreveríamos o subprocedimento no nome de VBA XML.

Código:

Sub VBA_XML2()End Sub

exemplo XML VBA 2-1

exemplo XML VBA 2-1

Passo 2: Defina uma variável como String onde armazenaremos o local do arquivo e outra variável para Pasta de trabalho, conforme mostrado abaixo.

Código:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookEnd Sub

VBA XML de Exemplo 2-2

VBA XML de Exemplo 2-2

Passo 3: Agora é semelhante ao exemplo anterior, vamos agora usar 2 Aplicações, uma de atualização da Tela e outro para Exibir Alertas FALSOS.

Código:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseEnd Sub

VBA XML de Exemplo 2-3

VBA XML de Exemplo 2-3

Passo 4: Agora na variável definida XMLFile, vamos atribuir o caminho do arquivo XML.

Código:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"End Sub

Variável Definida pelo Exemplo 2-4

Variável Definida pelo Exemplo 2-4

Passo 5: Semelhante ao exemplo 1, vamos atualizar agora definir o código para Abrir arquivo XML com o caminho definido na XMLFile variável e carga de Importação de dados para a lista.

Código:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Set WBook = Workbooks.OpenXML(Filename:=XMLFile, LoadOption:=xlXmlLoadImportToList)End Sub

exemplo XML VBA 2-5

exemplo XML VBA 2-5

Passo 6: agora novamente para colocar o aplicativo de Alerta de exibição como verdadeiro.

Código:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Set WBook = Workbooks.OpenXML(Filename:=XMLFile, LoadOption:=xlXmlLoadImportToList)Application.DisplayAlerts = TrueEnd Sub

Exibir Alerta Exemplo de Aplicação 2-6

Exibir Alerta Exemplo de Aplicação 2-6

Passo 7: uma Vez que os dados são importados, vamos cópia em outra pasta de trabalho selecionada a célula A1:D1 conforme o número de cabeçalhos disponíveis no arquivo XML.

Código:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Set WBook = Workbooks.OpenXML(Filename:=XMLFile, LoadOption:=xlXmlLoadImportToList)Application.DisplayAlerts = TrueWBook.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets(1).Range("A1:D1")End Sub

exemplo de pasta de trabalho 2-7

exemplo de pasta de trabalho 2-7

Etapa 8: por fim, feche o código usando o aplicativo de atualização de tela como verdadeiro.

Código:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Set WBook = Workbooks.OpenXML(Filename:=XMLFile, LoadOption:=xlXmlLoadImportToList)Application.DisplayAlerts = TrueWBook.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets(1).Range("A1:D1")Application.ScreenUpdating = TrueEnd Sub

exemplo de aplicativo de atualização de tela 2-8

exemplo de aplicativo de atualização de tela 2-8

Passo 9: agora, se executarmos este código, veremos que os dados do arquivo XML serão importados para uma nova pasta de trabalho do Excel, conforme mostrado abaixo.

VBA XML de Exemplo 2-9

VBA XML de Exemplo 2-9

Prós do VBA XML

  • Mesmo se você não sabe como criar um arquivo XML e trabalhar sobre ele, usando tais códigos VBA, podemos extrair os dados em Código VBA ou em Excel.
  • podemos analisar uma parte dos dados XML ou dados completos na janela VBA usando referências de nó.

coisas para lembrar

  • cada referência de nó tem seu próprio valor e significado. Usar o tipo de nota certo é muito importante para todas as condições.
  • XML para VBA não se limita ao código que vimos nos exemplos acima.
  • podemos extrair qualquer tipo de dados usando o código que vimos nos exemplos acima discutidos. Mas mantenha a localização e o caminho adequados, fáceis de acessar.
  • também podemos extrair os dados do arquivo XML sem abri-lo da opção de origem da guia do desenvolvedor. Isso nos ajudará a obter os dados como estão na pasta de trabalho do Excel.
  • Salve o arquivo Excel de código escrito no formato Excel habilitado para Macro, para evitar a perda do Código.

artigos recomendados

este é um guia para o XML VBA. Aqui discutimos etapas para importar & adicionar XML no Excel VBA e seus diferentes tipos de nó, juntamente com exemplos práticos e modelo de excel para download. Você também pode ir através de nossos outros artigos sugeridos–

  1. VBA LBound
  2. VBA Obter o Valor da Célula
  3. VBA IsError
  4. VBA Solver
0 Ações

Leave a Reply