Здесь есть несколько проблем.
Во-первых, вам нужно определить константу xlRepairFile, вы можете сделать это, добавив следующую строку вверху вашего кода (ссылка на значения [https://msdn.microsoft.com/en-us/vba/excel-vba/articles/xlcorruptload-enumeration-excel]):
CONST xlRepairFile = 1
Во-вторых, VBScript не поддерживает именованные аргументы. Вам нужно будет предоставить пустые параметры, ограниченные запятыми, чтобы завершить функцию (вплоть до аргумента, который вы хотите изменить, который в данном случае оказывается последним), например, ниже (ссылка на метод WorkBooks.Open, который подробности все аргументы [https://msdn.microsoft.com/en-us/vba/excel-vba/articles/workbooks-open-method-excel]:
Set oBook = oExcel.Workbooks.Open ("Z:\ATR_Track\0108~ASHFORD TP~AT-ATv2~18-06-2018.xlsx", , , , , , , , , , , , , , xlRepairFile)
В настоящее время я не знаю, как это обойти, однако Ангус W может знать + дать лучший ответ.
Полный новый код:
csv_format = 6
CONST xlRepairFile = 1
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", , , , , , , , , , , , , , 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