Пакетный Конвертер XLS в CSV

2995
Isaac Kleinman

В Windows мне нужен скрипт для преобразования всех (xls) файлов каталога в csv.

1
Какая версия windows? EBGreen 13 лет назад 0
Можете ли вы привести пример ввода и желаемого результата? bbaja42 13 лет назад 0
@EBGreen: Windows XP Isaac Kleinman 13 лет назад 0
В этом случае любой из приведенных ниже VBScripts должен работать нормально. EBGreen 13 лет назад 0

1 ответ на вопрос

1
kockiren

Я нашел этот скрипт VB здесь

option explicit  dim a, arg, oArgs, ArgNum a = 0  Set oArgs = WSCript.arguments ArgNum = oArgs.Count  if ArgNum <> 1 then WSCript.echo "Syntax: cscript <Script> filename_root" WScript.quit(1) end if  dim filename_root, oldfilename, pos,newname oldfilename = oArgs(0)  rem Remove .xls file extension if it was provided dim ext ext = right( oldfilename, 4 ) if lcase( ext ) = ".xls" then oldfilename = left( oldfilename, len( oldfilename ) - 4 ) end if  pos = instr(oldfilename, " ")  if pos > 0 then  newname = right(oldfilename, len(oldfilename) - instrrev(oldfilename, "\")) newname = replace(newname," ","_") filename_root = left(oldfilename, instrrev(oldfilename, "\")) & newname  dim oShell set oShell = Wscript.CreateObject("WScript.Shell") Wscript.echo "cmd.exe /c ren """ & oldfilename & ".xls"" " & newname & ".xls" oShell.run "cmd.exe /c ren """ & oldfilename & ".xls"" " & newname & ".xls"  else filename_root = oldfilename end if  dim app set app = createobject("Excel.Application")  dim wb set wb = app.workbooks.open( filename_root & ".xls" )  const xlXMLSpreadsheet = 46 const xlCSV = 6  app.DisplayAlerts = false dim sht for each sht in wb.worksheets sht.activate dim output_filename output_filename = filename_root & "_" & replace( sht.name, " ", "_" ) & ".csv" wb.saveAs output_filename, xlCSV next 'wb.saveAs filename_root & ".xml", xlXMLSpreadsheet app.DisplayAlerts = true  wb.close false  'app.close  WScript.quit 
Я закончил делать это вручную, но у меня будет это в следующий раз! Isaac Kleinman 13 лет назад 0