10

我使用以下代码将数据从 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
4

2 回答 2

20
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
于 2012-11-29T06:29:52.663 回答
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
于 2016-03-14T17:43:58.490 回答