【发布时间】:2015-12-03 00:53:52
【问题描述】:
我找到了下面的代码,但我不知道 VBA —— 我在第一行得到一个编译错误:
Sub xmltoxl()
Dim f As String
Dim wbk As Workbook
Dim s As Integer
f = Dir("C:\Users\Kanye\Downloads\fwcommoncartridgesforsegtitles\zipped\basicLTILinks" & "\*.xml")
s = 0
Do While Len(f) > 0
s = s + 1
Set wbk = Workbooks.OpenXML("C:\Users\Kanye\Downloads\fwcommoncartridgesforsegtitles\zipped" & "\" & f)
wbk.SaveAs Filename:="C:\Users\Kanye\Downloads\fwcommoncartridgesforsegtitles\zipped\" & s & ".xls"
wbk.Close False
f = Dir()
Loop
我的 .xlsm 文件的目录: C:\Users\Kanye\Downloads\fwcommoncartridgesforsegtitles\Texas_Gr6_IScience_2015
我的 .xml 文件的目录: C:\Users\Kanye\Downloads\fwcommoncartridgesforsegtitles\Texas_Gr6_IScience_2015\basicLTILinks
我把这些放在正确的地方了吗?
我希望所有 XML 文件都被提取到一个 CSV 中
【问题讨论】:
-
你需要一个
End Sub在最后关闭“Sub xmltoxl()”。强烈建议在模块顶部添加Option Explicit -
已添加,但现在我收到错误“运行时错误 '68'。设备不可用。”在 Mac 上运行 - Excel 11'
-
像“C:\Users\Kanye...”这样的 Windows 路径在 Mac 上没有任何意义。有关如何在 Mac 上使用 Dir,请参阅 this question
-
感谢它现在可以工作,但它返回的文件在打开时会出现此错误:imgur.com/SiyiGag .. 任何线索为什么它已损坏?
-
Workbook.SaveAs 可以使用 FileFormat parameter,因此请尝试使用“xlCSV”或“xlCSVMac”选项 -
wbk.SaveAs yourFilenameHere, xlCSV或wbk.SaveAs yourFilenameHere, xlCSVMac(我无法访问 Mac 来检查不过,这是直接的)