通过绘图启动的脚本激活范围时,无需在键入之前单击

And*_*rew 5 selection google-sheets google-apps-script

我正在为 Google Sheet 编写一个简单的脚本。我有一个标记为“新条目”的按钮(该按钮实际上是分配给我的脚本的绘图)。当用户单击按钮时,脚本会在指定位置插入一个空行并激活第一列,以便用户可以开始输入。

一切都很好,除了脚本完成后,键盘在用户手动单击工作表后才能工作。正确的单元格明显被激活,但我怀疑焦点仍然(秘密地)在绘图上。这一理论得到以下事实的支持:如果用户按下退出键,他就可以根据需要开始在活动单元格中输入。

有什么方法可以使这最后一步自动化,以便用户在开始键入之前不需要按 ESC 或单击进入工作表?

这是我正在使用的相关代码行:

this_sheet.getRange(new_row_num, start_col + 1).activate();   // activate the appropriate cell for convenient data entry
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一些其他函数与和/或代替上面显示的代码行,但总是得到相同的结果。这些其他功能包括Sheet.activate()Spreadsheet.setActiveSelection(range)

小智 2

如果这些函数没有按预期方式工作,那么获得焦点的解决方法是使用以下命令写入目标单元格

this_sheet.getRange(new_row_num, start_col + 1).setValue("");//for blank cell
Run Code Online (Sandbox Code Playgroud)

如果它不是空白单元格但有一些现有值,那么您可以先使用 getValue() 然后使用 setValue() 以保持相同的值。