Macro para extraer datos XML en Excel para Mac
En la comunidad
Tengo una macro que me ayuda a registrar mi control de facturación (no es mía, aclaro, la personalicé con base en mis necesidades de un código encontrado en varios foros) y me funciona de maravilla, el tema es que en el trabajo han migrado a Mac y no logro hacerlo funcionar. Me sería de mucha ayuda si alguno de ustedes puede apoyarme, gracias de antemano!
Este es el código que actualmente uso:
Sub ExtraerFolioFiscal()
On Error Resume Next
'Application.DisplayAlerts = True
Dim Archivo
Dim y, Fila, FolioFiscal
Application.ScreenUpdating = False
Fila = Range("F" & Rows.Count).End(xlUp).Row + 1
Archivo = Application.GetOpenFilename("Archivos xml (*.xml), *.xml")
If Archivo = False Then Exit Sub
Workbooks.OpenXML Filename:=Archivo
y = 1: FolioFiscal = ""
Do Until Trim(Cells(2, y)) = ""
If Trim(Cells(2, y)) = "/@Fecha" Then
FECHAS = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/cfdi:Emisor/@Nombre" Then
ENOMBRE = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/cfdi:Emisor/@Rfc" Then
EMISORRFC = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/@Folio" Then
FOLIO = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/cfdi:Complemento/tfd:TimbreFiscalDigital/@UUID" Then
UUID = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/@SubTotal" Then
Subtotal = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/cfdi:Impuestos/cfdi:Traslados/cfdi:Traslado/@Importe" Then
IVA = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/@Total" Then
Total = Cells(3, y)
End If
y = y + 1
Loop
'--
ActiveWorkbook.Close 'Archivo xml
'--
Range("F" & Fila) = ENOMBRE
Range("G" & Fila) = EMISORRFC
Range("H" & Fila) = FOLIO
Range("I" & Fila) = UUID
Range("J" & Fila) = FECHAS
Range("K" & Fila) = Subtotal
Range("L" & Fila) = IVA
Range("M" & Fila) = Total
Hoja1.Hyperlinks.Add Anchor:=Range("AN" & Fila), _
Address:=Carpeta & "\" & Archivo, _
TextToDisplay:=Archivo
End Sub