一次性设置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 + ” 个表格设置了统一样式!”);}
夜雨聆风