如何将AppScript变量传递至JavaScript变量?
解决方案
1. 修正并编写AppScript函数
首先在你的AppScript文件中,定义一个能返回单元格值的公开函数——仅定义变量不会主动传递值,必须通过返回值完成数据传递:
function getCellInfo() { const ss = SpreadsheetApp.getActiveSpreadsheet(); // 注意:getRange参数是「行号, 列号」,F3对应第3行、第6列 const cellValue = ss.getRange(3, 6).getValue(); return cellValue; }
你之前写的
ss.getRange(6,3)对应的是C6单元格,这可能是你拿不到正确值的原因之一,需按行列对应关系修正。
2. 在JavaScript中接收数据
前端JavaScript通过google.run调用上述函数,利用异步回调获取返回值并赋值给name:
// 异步调用AppScript函数并处理返回结果 google.run.getCellInfo().then(function(result) { const name = result; // 这里可添加对name变量的后续操作,比如打印验证 console.log('获取到的单元格值:', name); }).catch(function(error) { // 捕获调用失败的异常 console.error('数据获取失败:', error); });
核心注意事项
google.run仅能在Google Web App、表格侧边栏/对话框这类官方支持的环境中使用,普通网页无法直接调用。- AppScript函数必须是公开的(函数名不能以下划线开头),否则
google.run无法访问。 - 调用是异步执行的,不能直接用
const name = google.run.getCellInfo()同步赋值,必须通过.then()处理结果。
内容的提问来源于stack exchange,提问作者Elioenai Henrique
相关产品推荐
相关产品推荐

