这是我的情景:
问题是该脚本尝试读取A1内容,但如果您正在编辑它,则在您手动单击另一个单元格之前,其内容不会更新(因此,如果您在编辑A1后直接单击图像,则脚本将读取先前存储的A1值)
问题是单击图像不会在A1上触发模糊事件,因此如果您正在编辑内容,则不会存储内容。我想知道如何使用Apps Script强制模糊/保存/停止编辑单元格,因此我可以确定检索到的值是您刚刚输入的值。我试过选择另一个有效范围,但它没有帮助。
谢谢。
答案 0 :(得分:0)
我在Google表格中使用此解决方法,在点击具有与之关联的功能的按钮后将焦点返回到单元格(我使用侧边栏的程序化打开及其立即关闭):
main.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);
}
sidebar.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body onload="google.script.host.close();">
</body>
</html>
你可以在这里找到更多信息(使用翻译,教程在意大利语languange):
对于本文的示例,在单击按钮后,代码会插入一个新行并将焦点返回到第一个准备写入的单元格,但只需根据您的需要进行调整。