使用vba自动化多个xml到excel

好吧,首先:我是一个完整的VBA nitwit。 我一直试图破解这个代码几个小时,而且我认为进一步学习vba是如何工作的最好方法是调用部队。 我希望没有人因此受到冒犯。

这是我想要做的:a)打开一个文件夹中的所有xml文件,逐个b)将它们转换为一个excel文件c)然后将它们作为一个excel文件一个接一个地保存在另一个文件夹中

我到目前为止的代码如下:

Sub xmltoxl() Dim fs As FileSearch Dim i As Integer Dim wbk As Workbook Dim s As Integer Set fs = Application.FileSearch With fs .LookIn = ThisWorkbook.Path .Filename = "*.xml" For i = 1 To .Execute() Set wbk = Workbooks.OpenXML(.FoundFiles(i)) s = 1 ChDir "C:\Users\Seeb\Desktop\Volkskrant\2013_archiefb" ActiveWorkbook.SaveAs Filename: (s & ".xls") s = s + 1 Next i End With End Sub 

未经testing:

 Sub xmltoxl() Dim f As String Dim wbk As Workbook Dim s As Integer f = Dir(ThisWorkbook.Path & "\*.xml") s = 0 Do While Len(f)>0 s = s + 1 Set wbk = Workbooks.OpenXML(ThisWorkbook.Path & "\" & f) wbk.SaveAs Filename:="C:\Users\Seeb\Desktop\Volkskrant\2013_archiefb" & s & ".xls" wbk.Close False f = Dir() Loop End Sub 

有一些改变,是的,它的工作。 至less,中途(我只是重做下半场)。 谢谢Tim。

 Sub xmltoxl() Dim f As String Dim wbk As Workbook Dim s As Integer f = Dir("C:\Users\Seeb\Desktop\Volkskrant\2013_archief" & "\*.xml") s = 0 Do While Len(f) > 0 s = s + 1 Set wbk = Workbooks.OpenXML("C:\Users\Seeb\Desktop\Volkskrant\2013_archief" & "\" & f) wbk.SaveAs Filename:="C:\Users\Seeb\Desktop\Volkskrant\2013_archiefb\" & s & ".xls" wbk.Close False f = Dir() Loop 

结束小组