【发布时间】:2018-07-03 14:39:28
【问题描述】:
我正在尝试将目录中的大约 600 个 excel 文件转换为 CSV,以便它们采用 SAS Enterprise 指南的标准化格式。
为此,我有一个批处理文件,它对目录中的每个 .xlsx 文件执行 VBScript。这适用于几乎所有的 excel 文件,但“损坏”的文件除外。
我不确定它们为何损坏,但它们都已从 Google 表格转换为 Excel,因此不足为奇。
我的问题是应该强制 workbooks.open() 方法打开损坏的文件的语法不起作用。
请看下面我的vbs代码:
csv_format = 6
Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim oExcel
Set oExcel = CreateObject("Excel.Application")
Dim oBook
Set oBook = oExcel.Workbooks.Open ("Z:\ATR_Track\0108~ASHFORD TP~AT-ATv2~18-06-2018.xlsx", CorruptLoad:= xlRepairFile)
oBook.Sheets(WScript.Arguments.Item(0)).Select
set deleterange = oExcel.Range("A1", "A3").EntireRow
deleterange.AutoFilter()
deleterange.Delete
oBook.SaveAs "Z:\ATR_Track\test.csv" &"_ATR",
csv_format
oBook.Close False
oExcel.Quit
返回的错误在第 9 行,字符 129 处显示为“Expected ')'”。
谁能告诉我我的语法有什么问题?
【问题讨论】:
-
VBScript 不支持命名参数。请参阅stackoverflow.com/a/29557401/603855,点击链接。