我已经设置了一个包含多个按钮(带有指定脚本的图像)的工作表,用于调整单元格的值。当在带有鼠标的计算机上使用时,此功能很好,但在触摸屏设备上使用时,单击按钮一次,运行脚本并选择要编辑的图像。
然后,此选择使脚本无法使用该按钮再次运行,而无需手动取消选择该按钮以再次使用它(我想避免这种情况)。我尝试添加.setActiveSelection()
到我的脚本中,但不幸的是,这不会取消选择图像,只会更改活动单元格。
我已经设置了一个包含多个按钮(带有指定脚本的图像)的工作表,用于调整单元格的值。当在带有鼠标的计算机上使用时,此功能很好,但在触摸屏设备上使用时,单击按钮一次,运行脚本并选择要编辑的图像。
然后,此选择使脚本无法使用该按钮再次运行,而无需手动取消选择该按钮以再次使用它(我想避免这种情况)。我尝试添加.setActiveSelection()
到我的脚本中,但不幸的是,这不会取消选择图像,只会更改活动单元格。
尝试这个:
这很简单。都是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');
}