我使用以下代码将数据从XML提取到Excel。
但问题是,结果是在新工作簿“Book1
”中打开的。但是我希望在具有此宏的同一Excel中的特定工作表中获得结果
请注意,我不想在代码中创建模式,因为所有XML的模式都会更改。下面提到的代码不需要指定架构。它可以使用正确的列名将结果转储到新的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
答案 0 :(得分:15)
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
答案 1 :(得分:0)
我创建了一个简单的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