2012-11-29 141 views
7

我使用以下代碼將數據從XML提取到Excel。 但問題是,結果在新工作簿「Book1」中打開。但我想在具有此宏的相同Excel中的特定工作表中獲得結果。
請注意,我不想在代碼中創建模式,因爲所有XML的模式都會改變。下面提到的代碼不需要指定模式。它可以將結果轉儲到具有正確列名稱的新Excel表格中。那麼,請讓我知道如何在同一工作簿中獲得sheet2的結果?如何使用VBA從XML文件中將數據提取到Excel工作表

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

End Sub 

回答

14
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 
+0

嘿蒂姆,非常感謝.........這工作:)。這是我的不好,我沒有正確指定表名。 – tester

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 
相關問題