/* EXCEL -> CSV converter */ d = new ActiveXObject("Scripting.FileSystemObject"); dir = d.GetParentFolderName(WScript.ScriptFullName); folder = d.GetFolder(dir); files = folder.Files; // Проверяем есть ли папка output try{ output = d.GetFolder(dir+'\\output'); } catch(ex){ WScript.Echo("Нет папки output!"); return false; } // Для всех файлов извлекаем содержимое и пишем в CSV формат var enumFiles = new Enumerator(files); xlsObj = new ActiveXObject("Excel.Application"); xlsObj.DisplayAlerts = false; for (; !enumFiles.atEnd(); enumFiles.moveNext()) { var fileItem = enumFiles.item(); // XLS формат? rtest = /\.xls$/; if (rtest.exec(fileItem.Name)){ WScript.StdOut.WriteLine("Конвертирую "+fileItem.Name+"..."); xlsObj.Workbooks.open(folder+"\\"+fileItem.Name); newfname = fileItem.Name.replace(rtest, ".csv"); nf = d.OpenTextFile(folder+"\\output\\" + newfname, 2, true); for (i=1; i<=xlsObj.Worksheets.Count; i++){ nf.WriteLine("\"------- страница "+i+" -------\""); WScript.StdOut.WriteLine("страница "+i); currentWorkSheet = xlsObj.ActiveWorkbook.Worksheets(i); // Извлекаем данные из XLS, пишем в CSV currentWorkSheet.saveAs(folder+"\\tmp\\"+i+ newfname, 6); nnf = d.OpenTextFile(folder+"\\tmp\\"+ i+ newfname, 1, true); nf.Write(nnf.ReadAll()); nnf.Close(); // Дописываем в файл WScript.StdOut.WriteBlankLines(1); currentWorksheet = null; } WScript.StdOut.WriteLine("Готово!"); xlsObj.Workbooks(1).Close(); xlsObj.Quit(); nf.Close(); } } WScript.StdOut.WriteLine("Конвертация окончена!"); xlsObj = null;