【发布时间】:2013-10-27 20:46:06
【问题描述】:
好的,开始:我是一个完整的 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
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
【问题讨论】:
-
哪里失败了?什么不起作用?
-
(首先)它给了我一个关于如何保存工作簿的“编译错误:语法错误”(SaveAs 行)
-
FileSearch自 2007 版以来已从 Excel 中删除。See this answer -
要使用命名参数,您需要在参数名称和值之间使用
:=,因此:ActiveWorkbook.SaveAs Filename:=(s & ".xls")