Jump to content

Amaranto

Members
  • Content Count

    2
  • Joined

  • Last visited

About Amaranto

  • Rank
    Newbie

Converted

  • Campos
    ,

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Private documentoxml As MSXML2.DOMDocument Private listanodos As MSXML2.IXMLDOMNodeList Private nodo As MSXML2.IXMLDOMNode Private fila As Double Sub ABRIR_XML() Dim dg As FileDialog, archivo As Variant Set dg = Application.FileDialog(msoFileDialogFilePicker) With dg If .Show = -1 Then For Each archivo In .SelectedItems ActiveCell.Value = archivo ActiveCell.Offset(1, 0).Range("A1").Select Next archivo Else End If End With End Sub Function CONTAR_NODOS(ruta As String, nombrenodo As String) As String Set documentoxml = New DOMDocument documentoxml.Load (ruta) Set listanodos = documentoxml.getElementsByTagName(nombrenodo) CONTAR_NODOS = listanodos.Length End Function Function OBTENER_ATRIBUTOS(ruta As String, nombrenodo As String, estenodo As Integer, atributo As String) As String Set documentoxml = New DOMDocument documentoxml.Load (ruta) Set listanodos = documentoxml.getElementsByTagName(nombrenodo) OBTENER_ATRIBUTOS = listanodos.Item(estenodo).Attributes.getNamedItem(atributo).Text End Function Function OBTENER_XML(ruta As String) As String Set documentoxml = New DOMDocument documentoxml.Load (ruta) OBTENER_XML = documentoxml.XML End Function Sub OBTENER_TODOS_ATRIBUTOS(ruta As String, nombrenodo As String, estenodo As Integer) Set documentoxml = New DOMDocument documentoxml.Load (ruta) Set listanodos = documentoxml.getElementsByTagName(nombrenodo) For x = 0 To listanodos.Item(estenodo).Attributes.Length - 1 ActiveCell.Value = listanodos.Item(estenodo).Attributes.Item(x).nodeName ActiveCell.Offset(0, 1).Range("A1").Select Next x End Sub Sub LLAMAR_OBTENER_TODOS_ATRIBUTOS() Dim ruta As String, nombrenodo As String, estenodo As Integer ruta = Range("B2").Value nombrenodo = Range("C2").Value estenodo = Range("D2").Value Call OBTENER_TODOS_ATRIBUTOS(ruta, nombrenodo, estenodo) End Sub Sub OBTENER_TODOS_NODOS_HIJO(ruta As String, nombrenodo As String, estenodo As Integer) Set documentoxml = New DOMDocument documentoxml.Load (ruta) Set listanodos = documentoxml.getElementsByTagName(nombrenodo) For x = 0 To listanodos.Item(estenodo).ChildNodes.Length - 1 ActiveCell.Value = listanodos.Item(estenodo).ChildNodes.Item(x).nodeName ActiveCell.Offset(1, 0).Range("A1").Select Next x End Sub Sub LLAMAR_OBTENER_TODOS_NODOS_HIJO() Dim ruta As String, nombrenodo As String, estenodo As Integer Dim rutarango As Range, nombrenodorango As Range, estenodorango As Range Set rutarango = Application.InputBox("Selecciona la ruta del XML", "RUTA XML", Type:=8) Set nombrenodorango = Application.InputBox("Selecciona el nombre del nodo", "NOMBRE DEL NODO", Type:=8) Set estenodorango = Application.InputBox("Selecciona el número del nodo", "NÚMERO DEL NODO", Type:=8) ruta = rutarango.Value nombrenodo = nombrenodorango.Value estenodo = estenodorango.Value Call OBTENER_TODOS_NODOS_HIJO(ruta, nombrenodo, estenodo) End Sub
  2. Version 1.0.0

    80 downloads

    En esta ocasión les traigo el siguiente libro de Excel habilitado para Macros para obtener los productos de una factura electrónica o archivo XML. Como muy probablemente lo sepan, en algunos países las facturas que se elaboran para los clientes ahora tienen el formato XML; este libro que yo les he subido al foro sirve para visualizar en las celdas de la hoja de cálculo esa información mediante el uso de Macros y Funciones creadas por el usuario. Espero les sirva.
×
×
  • Create New...

Important Information

Privacy Policy