Apps 脚本:在编辑单元格上强制模糊以保存其内容

Alv*_*eto 7 google-sheets google-apps-script

这是我的场景:

  • 1 个单元格:A1,您可以在其中输入一些文本
  • 1 图像/绘图:单击时调用脚本函数

问题是脚本尝试读取 A1 内容,但是如果您正在编辑它,则在您手动单击另一个单元格之前,它的内容不会更新(因此,如果您在编辑 A1 后立即直接单击图像,脚本将读取先前存储的 A1 值)

问题是单击图像不会触发 A1 上的模糊事件,因此如果您正在编辑内容,则不会存储该内容。我想知道如何使用 Apps 脚本强制模糊/保存/停止编辑单元格,因此我可以确定检索到的值是您刚刚输入的值。我试过选择另一个活动范围,但没有帮助。

谢谢你。

Mic*_*ani 0

我在 Google Sheets 中使用此解决方法,在单击具有与其关联的功能的按钮后将焦点返回到单元格(我使用侧边栏的编程打开及其立即关闭):

主程序.gs

function inserisciNuovaRiga() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  sheet.insertRowBefore(2);
  showSidebar();
  var range = sheet.getRange("A2");
  sheet.setActiveRange(range);
}

function showSidebar() {
  var html = HtmlService.createHtmlOutputFromFile('sidebar');
  SpreadsheetApp.getUi().showSidebar(html);
}
Run Code Online (Sandbox Code Playgroud)

侧边栏.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body onload="google.script.host.close();">

  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

您可以在这里找到更多信息(使用翻译器,教程是意大利语):

http://www.appsscript.it/tutorial/google-apps-script-eseguire-una-funzione-al-click-su-un-bottone-in-uno-spreadsheet-e-far-tornare-il-focus-苏恩塞拉/

在本文的示例中,单击按钮后,代码会插入一个新行并将焦点返回到第一个准备写入的单元格,但只需根据您的需要进行调整即可。