乐于分享
好东西不私藏

一次性设置wps word文档中的所有表格格式

一次性设置wps word文档中的所有表格格式

应用场景:在wps word中,如果word文档中有几百个表格,需要设置统一的格式,一个个调整,十分耗时,因此需要找个批量处理的办法。

需求描述:

1. 表格上下左右线条宽度1磅,内部线条0.75磅;

2. 表格内所有字体为“五号宋体”,数字格式为TimesNewRoman格式;

3. 表格线条必须为实线不能为虚线。

4. 表格内第一行表头,居中显示,表格内的其他文字,上下居中,水平居左。

处理办法:在wps中启用JS宏,在宏内添加如下代码,运行宏可以一次性处理所有表格。

function setAllTableStyle() {  var doc = Application.ActiveDocument;  var tbls = doc.Tables;  if (tbls.Count == 0) {    alert(“文档中没有表格!”);    return;  }

  for (var i = 1; i <= tbls.Count; i++) {    var tbl = tbls.Item(i);    // ===== 1. 边框:外框1磅,内框0.75磅,全部实线 =====    // 线条样式:1 = 实线    tbl.Borders.InsideLineStyle = 1;    tbl.Borders.OutsideLineStyle = 1;    // 线宽:12 -> 1磅,9 -> 0.75磅    tbl.Borders.InsideLineWidth = 9;    tbl.Borders.OutsideLineWidth = 12;    // 颜色设为自动(黑色)    tbl.Borders.InsideColor = 0;    tbl.Borders.OutsideColor = 0;

    // ===== 2. 字体:五号宋体,数字/西文为 Times New Roman =====    tbl.Range.Font.Size = 10.5;            // 五号 = 10.5磅    tbl.Range.Font.Name = “宋体”;    tbl.Range.Font.NameAscii = “Times New Roman”;    // 确保所有字体颜色为自动    tbl.Range.Font.Color = 0;

    // ===== 3. 整体垂直居中 =====    tbl.Range.Cells.VerticalAlignment = 1; // 1 = 垂直居中

    // ===== 4. 第一行表头居中,其余行水平居左 =====    var rowsCount = tbl.Rows.Count;    for (var r = 1; r <= rowsCount; r++) {      var row = tbl.Rows.Item(r);      // 先统一清除可能存在的水平对齐设置      for (var c = 1; c <= row.Cells.Count; c++) {        var cell = row.Cells.Item(c);        if (r == 1) {          // 表头行:水平居中          cell.Range.ParagraphFormat.Alignment = 1; // 1=居中        } else {          // 其他行:水平居左          cell.Range.ParagraphFormat.Alignment = 0; // 0=左对齐        }      }    }

    // ===== 5.(可选)让表格自适应页面宽度并居中 =====    tbl.PreferredWidthType = 2;   // 按百分比    tbl.PreferredWidth = 100;    tbl.Rows.Alignment = 1;       // 表格在页面上居中  }

  alert(“成功为 ” + tbls.Count + ” 个表格设置了统一样式!”);}

注:代码由DeepSeek生成。