0

我已经设置了一个包含多个按钮(带有指定脚本的图像)的工作表,用于调整单元格的值。当在带有鼠标的计算机上使用时,此功能很好,但在触摸屏设备上使用时,单击按钮一次,运行脚本并选择要编辑的图像。

然后,此选择使脚本无法使用该按钮再次运行,而无需手动取消选择该按钮以再次使用它(我想避免这种情况)。我尝试添加.setActiveSelection()到我的脚本中,但不幸的是,这不会取消选择图像,只会更改活动单元格。

4

1 回答 1

1

尝试这个:

这很简单。都是gs代码。不需要 html 文件。html都是在服务器端创建的。

function buttonDialog() {
  var ss=SpreadsheetApp.getActive();
  var html='<style>input[type="button"]{margin:2xp 5px 2px 0;}</style>';
  var fnA=['func1','func2','func3','func4','func5'];
  var btnA=['name1','name2','name3','name4','name5'];
  fnA.forEach(function(btn,i){
    html+=Utilities.formatString('<br /><input type="button" value="%s" onClick="google.script.run.%s()" />',btnA[i],fnA[i]);
  });
  var userInterface=HtmlService.createHtmlOutput(html);
  SpreadsheetApp.getUi().showSidebar(userInterface);
}

function func1() {
  SpreadsheetApp.getUi().alert('Button 1 was clicked');
}

function func2() {
  SpreadsheetApp.getUi().alert('Button 2 was clicked'); 
}

function func3() {
  SpreadsheetApp.getUi().alert('Button 3 was clicked'); 
}

function func4() {
  SpreadsheetApp.getUi().alert('Button 4 was clicked'); 
}

function func5() {
  SpreadsheetApp.getUi().alert('Button 5 was clicked'); 
}
于 2020-01-23T05:24:10.497 回答