Есть ли способ использовать радиокнопки в диалоге Google Sheets и сохранить значение с помощью скриптов Google App? - PullRequest
0 голосов
/ 14 апреля 2019

Моя цель, проще говоря, выделить диапазон ячеек на одном листе Google («источник») и переместить его в другой, другой документ листа Google («цель»). У цели есть несколько листов (вкладок?), И новые часто добавляются.

ВАЖНО: Для ясности, я НЕ копирую с одного листа на другой лист в том же документе. Я копирую из одного документа листа Google, в другой документ сложности листа.

В настоящее время у меня есть код, который позволяет пользователям:

  1. Выделите диапазон ячеек в листе Google SOURCE.
  2. Выберите опцию пользовательского меню.
  3. После выбора опции пользовательского меню данные из выделенного диапазона ячеек копируются в Google TARGET.

В настоящее время «цель» жестко закодирована.

Что я хочу сделать, это создать список переключателей. Одна радиокнопка для каждого листа, который существует в Google TARGET. Разрешить пользователю выбрать один, а затем переместить данные на этот конкретный лист, когда они нажимают кнопку «ОК».

Я искал некоторое время, но не могу найти что-либо даже о том, чтобы поместить переключатели в диалоге листов Google, не говоря уже о создании списка переключателей на основе листов, которые существуют в другом документе листа Google.

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

Закрытие этого вопроса, поскольку теперь я знаю, что HTML нужно использовать.

0 голосов
/ 15 апреля 2019

Вот простой пример радио-диалога:

function radiosOnADialog() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var html='<html><head><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"><script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script></head>';
  for(var i=0;i<10;i++) {
    html+=Utilities.formatString('<br /><input type="radio" name="rgroup" id="%s" value="%s" onChange="getSelected();" />%s','id'+ Number(i+1),'radio' + Number(i+1),' radio' + Number(i+1));
  }
  html+='<body><br /><input type="button" value="close" onClick="google.script.host.close()" /><div id="msgdiv"></div>';
  html+='<script>function getSelected(){ var selected=document.querySelector(\'input[name="rgroup"]:checked\').value;document.getElementById("msgdiv").innerHTML="<br />You selected " + selected  + ".<br />";}</script></body></html>'; 
  var ui=HtmlService.createHtmlOutput(html);
  SpreadsheetApp.getUi().showModelessDialog(ui, 'A Radio Dialog');
}

Диалог:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...