Как получить данные из XML-файла в лист Excel с помощью VBA

я использовал следующий код для извлечения данных из XML в Excel. Но проблема в том, что результаты открываются в новой книге "Book1". Но я хочу получить результаты на определенном листе в том же Excel, где у меня есть этот макрос.
Обратите внимание, что я не хочу создавать схему в коде, так как схема изменяется для всех XMLs. Ниже упомянутый код не требует указания схемы. Он может сбрасывать результаты в новый лист Excel с правильными именами столбцов. Так что, пожалуйста, позвольте я знаю, как я могу получить результаты в sheet2 в той же книге?

Sub ImportXMLtoList()
 Dim strTargetFile As String
 Application.DisplayAlerts = False
 strTargetFile = "C:example.xml"
 Workbooks.OpenXML Filename:=strTargetFile, LoadOption:=xlXmlLoadImportToList
 Application.DisplayAlerts = True

End Sub

2 ответов


Sub ImportXMLtoList()
Dim strTargetFile As String
Dim wb as Workbook

     Application.Screenupdating = False
     Application.DisplayAlerts = False
     strTargetFile = "C:\example.xml"
     Set wb = Workbooks.OpenXML(Filename:=strTargetFile, LoadOption:=xlXmlLoadImportToList)
     Application.DisplayAlerts = True

     wb.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets("Sheet2").Range("A1")
     wb.Close False
     Application.Screenupdating = True


End Sub

Я создал просто xmlmap. Мне нужен код для импорта xml-данных в excel (щелкните правой кнопкой мыши-xml-import), чтобы получить данные из xml или другого. Я хочу сохранить xmlmap, который я создал, и просто заменить данные в моем xlxs на данные из другого xlm.

'Select the file
Fname = Application.GetOpenFilename(FileFilter:="xml files (*.xml), *.xml", MultiSelect:=False)

'Check if file selected
If Fname = False Then
    Exit Sub
    Else
Workbooks.Open Filename:=Fname
End If