Google Sheets脚本如何在选中单元格所在行前插入新行
Google Apps Script 实现选中单元格上方插入新行
原代码问题排查
初始代码无法运行,核心是两处逻辑错误:
- 手动运行脚本时,声明的形参
e不会自动赋值,属于未定义值,直接传入getRange()方法会触发参数类型错误 - Google Apps Script的Range对象没有
index()方法,获取行号需要调用原生的getRow()接口
可直接运行的完整代码
替换原有代码即可使用,保留了你原本使用的法语变量命名习惯:
function ajoutLigne() { const classeur = SpreadsheetApp.getActiveSpreadsheet(); const feuille = classeur.getActiveSheet(); // 获取当前选中的单元格区域 const plageSelectionnee = feuille.getActiveRange(); // 提取选中区域对应的起始行号 const indexLigne = plageSelectionnee.getRow(); // 在目标行上方插入1行空白行 feuille.insertRowsBefore(indexLigne, 1); }
使用说明
- 将上述代码粘贴到Apps Script编辑器中,保存后按照提示完成谷歌账号授权
- 回到表格界面,选中目标位置的任意单元格:比如要在第32行位置插入新行,直接选中原第32行的任意单元格即可
- 运行
ajoutLigne脚本,就会自动在选中行上方插入空白行,原选中行及下方所有内容自动下移,总行数+1,完全匹配预期功能效果
如果需要操作后弹出提示确认结果,可以在代码末尾追加如下片段:
const ui = SpreadsheetApp.getUi(); ui.alert(`插入成功:已在第${indexLigne}行上方添加空白行`);
补充:后续检索同类表格脚本问题,可以直接使用法语关键词搜索,比如
Apps Script insérer ligne au-dessus de la cellule sélectionnée,能找到更多匹配的法语参考资料。
内容的提问来源于stack exchange,提问作者devMethodes
相关产品推荐
相关产品推荐

