Board logo

标题: [文本处理] 求一个, bat命令批量删除多个excel 内的指定 列 [打印本页]

作者: carter09    时间: 2018-10-10 11:47     标题: 求一个, bat命令批量删除多个excel 内的指定 列

拜托删除a b d e 整列  而且是多个文件的
作者: flashercs    时间: 2018-10-10 12:36

删除列还是清空内容?
作者: carter09    时间: 2018-10-10 12:56

删除列 谢谢
作者: flashercs    时间: 2018-10-10 14:08

本帖最后由 flashercs 于 2018-10-11 17:51 编辑

删除列.js
  1. var fso,
  2.     colFiles,
  3.     file,
  4.     aCols = [1, 2, 4, 5],
  5.     oExcelApp,
  6.     oWorkbook,
  7.     oSheet,
  8.     j;
  9. oExcelApp = new ActiveXObject('Excel.Application');
  10. oExcelApp.DisplayAlerts = false;
  11. fso = new ActiveXObject('Scripting.FileSystemObject');
  12. colFiles = new Enumerator(fso.GetFolder(fso.GetParentFolderName(WScript.ScriptFullName)).Files);
  13. for (; !colFiles.atEnd(); colFiles.moveNext()) {
  14.     file = colFiles.item().Path;
  15.     if ('xlsx' !== fso.GetExtensionName(file).toLowerCase()) continue;
  16.     try {
  17.         oWorkbook = oExcelApp.Workbooks.Open(file);
  18.         oSheet = oWorkbook.Worksheets(1);
  19.         for (j = aCols.length - 1; j >= 0; --j) {
  20.             oSheet.Columns(aCols[j]).Delete(-4159);
  21.         }
  22.         oWorkbook.Close(true);
  23.     } catch (err) {
  24.         WScript.Echo(file + '\n' + err.message);
  25.     }
  26. }
  27. oExcelApp.DisplayAlerts = true;
  28. oExcelApp.Quit();
  29. WScript.Echo('Mission complete');
复制代码

作者: carter09    时间: 2018-10-10 17:47

本帖最后由 carter09 于 2018-10-10 17:58 编辑

不好意思 你这个是 固定文件名的 我这里文件名字都是不统一的 太多了 实在没法子 一个一个添加文件名字 麻烦能再简单点吗?最好是直接把JS文件、或是BAT文件拖进文件夹 双击就可以批量删除。拜托了
作者: flashercs    时间: 2018-10-10 17:55

回复 5# carter09


    只删 a b d e四列啊,删除列后右侧列左移
作者: carter09    时间: 2018-10-10 17:59

不好意思了  最好是直接把JS文件、或是BAT文件拖进文件夹 双击就可以批量删除。拜托了
作者: flashercs    时间: 2018-10-10 18:01

回复 7# carter09


    处理当前文件夹内所有的excel文件?
作者: carter09    时间: 2018-10-10 18:03

是的  太感谢了  处理当前文件夹内所有的excel文件
作者: flashercs    时间: 2018-10-10 18:38

回复 9# carter09

已修改了
作者: carter09    时间: 2018-10-10 19:59

太感谢了 万分感谢
作者: carter09    时间: 2018-10-11 09:40

不好意思 我又来麻烦你了 这些做好的文件 能批量打印吗?文件实在太多了。拜托
批量打印文件夹内的excel文件(很多文件)
作者: carter09    时间: 2018-10-11 09:40

回复 4# flashercs


   
不好意思 我又来麻烦你了 这些做好的文件 能批量打印吗?文件实在太多了。拜托
批量打印文件夹内的excel文件(很多文件)
作者: flashercs    时间: 2018-10-11 10:48

回复 13# carter09


    打印所有工作表还是只打印Sheet1 ?
打印几份copy ?
作者: carter09    时间: 2018-10-11 11:50

就是一个文件夹内的excel文件(很多文件)所以只需要打印Sheet1就行,最好能调解打印版面 用横面打印
作者: flashercs    时间: 2018-10-11 13:05

本帖最后由 flashercs 于 2018-10-11 17:51 编辑

printExcel.js
  1. var fso,
  2.     colFiles,
  3.     file,
  4.     oExcelApp,
  5.     oWorkbook,
  6.     oSheet;
  7. oExcelApp = new ActiveXObject('Excel.Application');
  8. // oExcelApp.DisplayAlerts = false;
  9. fso = new ActiveXObject('Scripting.FileSystemObject');
  10. colFiles = new Enumerator(fso.GetFolder(fso.GetParentFolderName(WScript.ScriptFullName)).Files);
  11. for (; !colFiles.atEnd(); colFiles.moveNext()) {
  12.     file = colFiles.item().Path;
  13.     if ('xlsx' !== fso.GetExtensionName(file).toLowerCase()) continue;
  14.     try {
  15.         oWorkbook = oExcelApp.Workbooks.Open(file, 3, true);
  16.         oSheet = oWorkbook.Worksheets(1);
  17.         oSheet.PageSetup.Orientation = 2;
  18.         oSheet.PrintOut();
  19.         oWorkbook.Close(false);
  20.     } catch (err) {
  21.         WScript.Echo(file + '\n' + err.message);
  22.     }
  23. }
  24. // oExcelApp.DisplayAlerts = true;
  25. oExcelApp.Quit();
  26. WScript.Echo('printing complete');
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2