【发布时间】:2020-05-01 11:24:32
【问题描述】:
我有一个 72 页的 Google 电子表格,我正在尝试重置每张表格,以便在您单击其选项卡时它在左上角显示 A1。也就是说,如果一张工作表向下滚动以至于您看不到 A1,我希望它向后滚动以便您可以看到。
我尝试了以下 google 脚本,但没有任何效果。我得到了第 4 个(reset4)from here,但这也没有用。
function reset1() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var allSheets = ss.getSheets();
for (var i = 1; i < allSheets.length; i++) {
allSheets[i].setActiveSelection("A1");
}
}
function reset2() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var allSheets = ss.getSheets();
for (var i = 1; i < allSheets.length; i++) {
allSheets[i].setActiveRange(allSheets[i].getRange("A1"));
}
}
function reset3() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var allSheets = ss.getSheets();
for (var i = 1; i < allSheets.length; i++) {
allSheets[i].setCurrentCell(allSheets[i].getRange("A1").getCell(1, 1));
}
}
// ***** CORRECTION:
// ***** reset4() later found to work. See accepted answer comments for details
function reset4() {
SpreadsheetApp.getActive().getSheets().forEach(function (s) {
s.setActiveSelection("A1");
});
SpreadsheetApp.flush(); // may still need to refresh page afterward
}
function reset5(){
var ss = SpreadsheetApp.getActive();
var sheets = ss.getSheets();
sheets.forEach(function(sh){
sh.activate();
ss.getActiveSheet().getRange("A1").activate();
});
}
我根据 Rafa Guillermo 在答案中提供的代码添加了第 5 个(reset5),但这也不起作用。尽管 Rafa Guillermo 的回答有效,但我并不是说每次单击其选项卡时都要重置工作表,但只有在运行所需的功能之后。
下面的动画 .gif 显示了一个测试电子表格,其中包含最后一个函数 (reset5) 和 3 张包含可能行和列的工作表。在视频的开头,单元格 A1(背景为红色)位于每张纸的左上角。然后我向下滚动并选择每个工作表中的其他单元格,以便不再看到 A1。运行该函数后,Sheet3 确实根据需要将 A1 放置在左上角。但是,问题是 Sheet1 和 Sheet2 没有。
【问题讨论】:
-
关于
I got the 4th one (reset4) from here but that didn't work either.,我认为在你reset4的脚本中,当函数运行时,每个工作表的单元格“A1”被激活,每个选项卡按顺序打开。对于这种情况,能否请教一下与am trying to reset each sheet so that it shows A1 in the upper left when you click on its tab.的区别? -
@Tanaike 我在第一段中添加了一个句子,以使我的意思(希望)更清楚。例如,我有许多向下滚动的工作表,因此当您单击它们的选项卡时看不到 A1。我希望所有这些都向上滚动,这样当我单击选项卡时,我会看到顶部 A1。
-
感谢您的回复。当
setActiveSelection("A1")运行时,单元格“A1”被选中并聚焦。关于scroll back,这和你期望的结果不同。我的理解正确吗? -
感谢您的回复。我为我糟糕的英语水平深表歉意。关于
Is my understanding correct?,我问我是否能正确理解你的问题。
标签: google-apps-script google-sheets