javascript - 如何以编程方式打开新电子表格

标签 javascript google-apps-script google-sheets

setActiveSpreadSheet 文档中的示例非常清楚:

// The code below will make the spreadsheet with key "1234567890" the active spreadsheet
var ss = SpreadsheetApp.openById("1234567890");
SpreadsheetApp.setActiveSpreadsheet(ss);

但是在我的 Google Scripts 中实现它,什么也没有发生(甚至没有错误消息)..想法?

更新

根据下面的答案,很明显上面的代码对 UI 没有影响。 我试过这样做:

function goToEstimate(sheetId)
{
  window.open('https://docs.google.com/spreadsheets/d/'+sheetId);
}

但后来我得到了这个错误:

ReferenceError: "window" is not defined.

有没有办法从 Google Apps 脚本中访问 JavaScript 全局窗口变量?

最佳答案

Apps 脚本无法使电子表格显示在客户端的浏览器中,因为它是服务器端脚本。

openById 方法返回电子表格的句柄,这使得可以从 Apps 脚本操作电子表格。这就是“打开电子表格”对脚本的意义。此操作对用户界面没有影响。

setActiveSpreadsheet 方法几乎没用;它只会更改当脚本调用 getActiveSpreadsheet 时将返回的电子表格。

一个对 UI 有影响的方法是 setActiveSheet:如果它应用于用户在浏览器中打开的电子表格,该方法可以更改该电子表格的哪个选项卡/工作表用户。

关于javascript - 如何以编程方式打开新电子表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37616007/

相关文章:

javascript - 是否可以使用 jquery 完全删除元素?

google-apps-script - 如何使用应用程序脚本向特定的谷歌幻灯片添加评论

google-sheets - 按分组依据计数唯一性-Google查询

google-apps-script - 如何在使用脚本计算公式之前避免从公式单元格复制值?

csv - 如何在 Google 文档电子表格中用双引号括起每个单元格

google-sheets - 删除列中的前导空格

javascript - jQuery 返回的对象的实际类型是什么

javascript - 根据宽度移动元素位置

javascript - 在 JavaScript 中,我如何测试在给定时刻是否有任何 AJAX 调用在后台运行?

javascript - 如何获取 Google 幻灯片标题和幻灯片编号的列表 - Google Apps 脚本