WPS表格 JSA 学习笔记 - 批量设置表格
Posted 笑虾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPS表格 JSA 学习笔记 - 批量设置表格相关的知识,希望对你有一定的参考价值。
创建表格样式
function 创建表格样式(styleName = "表格")
try
ActiveDocument.Styles.Item(styleName).Delete();
catch(e)
Console.log("样式不存在");
ActiveDocument.Styles.Add(styleName, wdStyleTypeParagraph);
(obj=>
obj.SpaceBefore = 0.5;
obj.SpaceAfter = 0.5;
obj.IndentCharWidth(0);
obj.IndentFirstLineCharWidth(0);
obj.BaseLineAlignment = wdBaselineAlignBaseline;
obj.Alignment = wdAlignParagraphCenter;
)(ActiveDocument.Styles.Item(styleName).ParagraphFormat);
创建表格样式();
批量设置表格
function 批量设置表格(begin, end)
// 关闭屏幕更新,提升执行效率
Application.ScreenUpdating = false;
// 遍历当前文档所有表格
[...ActiveDocument.Tables]
.filter((v,i)=>i>=begin&&i<=end)
.forEach(table=>
// ------------ 设置样式 ------------
table.Style = "网格型"; // 表格样式
table.Range.Style = "表格"; // 表格文字样式
// ------------ 设置单元格边距 ------------
// table.TopPadding = PixelsToPoints(0, true); // 设置上边距为0
// table.BottomPadding = PixelsToPoints(0, true); // 设置下边距为0
// table.LeftPadding = PixelsToPoints(0, true); // 设置左边距为0
// table.RightPadding = PixelsToPoints(0, true); // 设置右边距为0
// table.Spacing = PixelsToPoints(0, true); // 允许单元格间距为0
// ------------ 设置表格背景色 ------------
table.Shading.ForegroundPatternColor = wdColorAutomatic; //表格底纹前景色自动
table.Shading.BackgroundPatternColor = wdColorAutomatic; //表格底纹背景色自动
// --------------- 设置表格线 ---------------
//https://qn.cache.wpscdn.cn/encs/doc/office_v19/topics/WPS 基础接口/文字 API 参考/枚举/WdBorderType 枚举.html
[wdBorderTop,wdBorderLeft,wdBorderBottom,wdBorderRight,wdBorderHorizontal,wdBorderVertical]
.map(v=> table.Borders.Item(v)) // 将 WdBorderType 枚举转换成 Border 对象
.forEach(border=>
border.LineStyle = wdLineStyleSingle; // 边框样式
border.LineWidth = wdLineWidth050pt; // 边框线宽
border.Color = wdColorBlack; // 边框颜色
);
// --------------- 设置表头 ---------------
(row=>
row.Range.Font.Bold = true; // 文字加粗
row.Range.Font.BoldBi = true; // 右对齐文字也加粗
row.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter; // 文字居中
row.Range.ParagraphFormat.LineUnitBefore = 1; // 段前一行
row.Range.ParagraphFormat.LineUnitAfter = 1; // 段后一行
row.Cells.Shading.BackgroundPatternColor = wdColorGray10; // 表格背景色 10% 灰色底纹
)(table.Rows.First);
// 重复标题行
table.Rows.HeadingFormat = true;
// --------------- 自动调整表格 ---------------
table.Columns.PreferredWidthType = wdPreferredWidthAuto; // 基于当前所选内容自动选择要使用的度量单位
table.AutoFitBehavior(wdAutoFitWindow); // 根据窗口调整表格
);
// 开启屏幕更新
Application.ScreenUpdating = true;
Console.log('批量设置表格完成。');
批量设置表格(8, 31);
返回当前表格索引
function 返回当前表格索引()
var arr = [...ActiveDocument.Tables];
var len = arr.length;
var index = arr.findIndex(table=> Selection.Range.InRange(table.Range));
Console.log(`当前表格索引【$index】,最大索引【$len-1】`);
return [index,len];
参考资料
以上是关于WPS表格 JSA 学习笔记 - 批量设置表格的主要内容,如果未能解决你的问题,请参考以下文章