Могу ли я остановить устройство с сенсорным экраном от выбора изображения в листах при выполнении назначенного сценария? - PullRequest
0 голосов
/ 23 января 2020

Я настроил лист с несколькими кнопками (изображения с назначенным сценарием) для настройки значений ячеек. Это прекрасно работает при использовании на компьютере с мышью, но при использовании на устройстве с сенсорным экраном, нажатие кнопки один раз запускает скрипт и выбирает изображение для редактирования.

Этот выбор делает невозможным для скрипта Запустите снова, используя эту кнопку, не отменяя ручного выбора кнопки, чтобы использовать ее снова (то, чего я хочу избежать). Я попытался добавить .setActiveSelection() в свой скрипт, но, к сожалению, это не отменяет выбор изображения, а только изменяет активную ячейку.

1 Ответ

1 голос
/ 23 января 2020

Попробуйте это:

Это довольно просто. Это весь код 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'); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...