【发布时间】:2021-02-24 13:03:14
【问题描述】:
我正在应用脚本中为 Google 表格编写脚本。该电子表格包含两个工作表,每个工作表上都有一个按钮。单击第一张纸上的按钮会将您带到第二张纸。单击第二个按钮将带您回到第一个。
听起来很简单,但是当我返回每张纸时,我无法恢复光标位置。它总是改为 A1。这是我的代码。
function changesheet2() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet2'), true);
};
function changesheet1() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet1'), true);
};
根据documentation,使用参数true 调用setActiveSheet 应该恢复之前的活动选择和光标位置。如果您在单个函数中完成所有操作,这似乎可以正常工作。当这里有两个单独的功能时,它不起作用。
这大概是关于上下文以及谁可以看到什么数据的问题。我通过让用户单击每个工作表中的按钮来从相同的用户上下文运行这两个脚本。我怎样才能让它发挥作用?
【问题讨论】:
-
我在这里只看到一个脚本和两个函数。你是什么意思你运行两个脚本?您是否分别运行这两个函数以查看它们是否正常工作?
-
sheet1 上的按钮连接到函数 changesheet2()。 sheet2 上的按钮连接到函数 changesheet1()。
标签: google-apps-script google-sheets