Google Sheets Apps Script按钮跳转URL报错:window未定义求解决
解决Google表格脚本按钮跳转URL的错误问题
你碰到的ReferenceError: window is not defined错误原因很明确:Google Apps Script(GAS)是在谷歌服务器端运行的,并非浏览器环境,不存在前端的window对象,所以用window.location.href跳转肯定行不通。
另外你原代码里还有个小错误:get value中间多了空格,正确写法是getValue()。
下面是修正后的可用代码:
function redirectToUrl() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var url = ss.getRange("A4").getValue(); // 检查A4是否有有效链接 if (!url) { SpreadsheetApp.getUi().alert("A4单元格没有填写有效链接"); return; } // 通过临时HTML对话框实现跳转(在浏览器环境执行打开链接) var html = HtmlService.createHtmlOutput(` <script> window.open("${url}", "_blank"); google.script.host.close(); </script> `).setWidth(100).setHeight(100); SpreadsheetApp.getUi().showModalDialog(html, "正在打开链接..."); }
操作步骤:
- 打开Google表格的脚本编辑器:点击顶部菜单「工具」→「脚本编辑器」
- 把原代码替换成上面的代码,保存项目(随便起个名字,比如"跳转链接工具")
- 返回表格,插入按钮:点击「插入」→「绘图」,画个按钮形状、添加文字后保存
- 点击刚插入的按钮,选择「分配脚本」,输入函数名
redirectToUrl,确认即可
内容的提问来源于stack exchange,提问作者AtillaTheMom
相关产品推荐
相关产品推荐

