使用vba将多个xml自动转换为excel
好吧,首先:我是一个十足的VBA傻瓜。我已经尝试破解这段代码好几个小时了,我认为深入了解vba工作原理的最好方法是召集军队。我希望没有人因此而生气 这就是我想做的: a) 逐个打开文件夹中的所有xml文件 b) 将它们转换为excel文件 c) 然后将它们逐个保存为另一个文件夹中的excel文件 我目前掌握的代码如下:使用vba将多个xml自动转换为excel,xml,vba,excel,converter,Xml,Vba,Excel,Converter,好吧,首先:我是一个十足的VBA傻瓜。我已经尝试破解这段代码好几个小时了,我认为深入了解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
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
未经测试:
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
经过一些改变,是的,它成功了。至少,进行了一半(我将重做下半部分)。谢谢你,蒂姆
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
End Sub在哪里失败?什么不起作用?(首先)它给出了一个关于如何保存工作簿的“编译错误:语法错误”(另存为行)
FileSearch
自2007版以来已从Excel中删除。要使用命名参数,您需要在参数名称和值之间设置:=
,以便:ActiveWorkbook.SaveAs文件名:=(s&“.xls”)