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-インポート)、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 に答える