如何用Google App Script调整Google Docs单元格内的行间距
调整Google Docs表格单元格内的行间距为单倍
你的代码无法生效的核心问题是:你把TableCell对象直接当成了段落数组遍历,但单元格本身并不是段落集合。要修改单元格内文本的行间距,必须先获取单元格里的所有段落,再逐个设置行间距。
修正后的代码如下:
const doc = DocumentApp.getActiveDocument(); const paddingTop = 1.5; const paddingBottom = 1.5; const tables = doc.getBody().getTables(); tables.forEach(table => { for (let r = 0; r < table.getNumRows(); r++) { const row = table.getRow(r); for (let c = 0; c < row.getNumCells(); c++) { const cell = row.getCell(c); // 设置单元格上下内边距(保留你的原有设置) cell.setPaddingTop(paddingTop).setPaddingBottom(paddingBottom); // 获取单元格内的所有段落 const paragraphs = cell.getParagraphs(); // 遍历每个段落,设置单倍行间距(100%对应单倍) paragraphs.forEach(paragraph => { paragraph.setLineSpacing(100); }); } } });
关键修改说明:
- 用
cell.getParagraphs()替代直接遍历单元格对象,这才是获取单元格内文本段落的正确方式 - 改用
forEach遍历段落更清晰,同时避免了原代码中未声明i导致的全局变量问题 setLineSpacing(100)对应Google Docs中的单倍行间距(参数为百分比,100即1倍)
内容的提问来源于stack exchange,提问作者Henry Sikkema
相关产品推荐
相关产品推荐

