Google Sheets按钮绑定脚本时提示找不到Script函数如何解决?
问题描述
自行编写的updateData函数运行完全正常,脚本文件名与函数名均为updateData,但在为Google Sheets按钮绑定脚本时,持续报错*"Script function updateData could not be found"*,无明显会导致找不到脚本的错误。
相关代码如下:
function updateData() { var app = SpreadsheetApp; var ss = app.openById('1MNYUjdt0OCeOZyoNVAZbIRoM7kevG12njF5i57FyR5A'); var db = ss.getSheetByName('Dashboard'); var inputR = db.getRange('B54:L54'); var inputV = inputR.getValues(); var data = db.getRange('B59:L1051').getValues(); for (var i = 0; i<data.length; i++) { if (!data[i].join("")) break; } var emptyRow = i + 1; db.getRange(58 + emptyRow, 2, 1, 11).setValues(inputV); inputR.clearContent(); Logger.log(emptyRow); Logger.log(inputV); }
2021年10月2日更新
问题原因
问题根源为多账号登录冲突:如果在同一个Chrome会话中登录了多个Gmail账号,点击表格的「工具>脚本编辑器」时,会默认跳转到会话中首个登录账号的Google Script应用页面。由于该表格是用非默认账号创建的,因此会出现权限错误。此前直接在Google Script应用主页新建项目编写代码,虽然代码在脚本编辑器中可正常运行,但Google Sheets的按钮无法识别到该函数。
解决方案
通过隐身窗口打开该表格,仅登录创建表格的对应账号,点击「工具>脚本编辑器」,在自动创建的关联新项目中粘贴原有代码,更新函数名后重新绑定到按钮,问题即可解决。
附加说明:在Google Script应用的项目列表中,成功关联的新项目会显示Google Sheets图标,代表已和表格绑定;旧的未绑定项目仅显示普通脚本图标。
内容的提问来源于stack exchange,提问作者Clayton Ritchey
相关产品推荐
相关产品推荐

