Присвойте значение ячейке нажатием кнопки в google sheet modalDialog - PullRequest
0 голосов
/ 03 июля 2018

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

На другом листе Column B - это имя пользователя, Column C - номер телефона с диапазоном проверки данных на листе данных клиента.

Всякий раз, когда в Column B появляется новая запись, вызывается функция selectClient(clientName). clientName - это массив имен и телефонных номеров, которые соответствуют введенному имени.

Отображает всплывающий HTML-код с кнопками для каждой строки массива.

Мне нужно установить значение Column C в строке, где создается новая запись, с номером телефона в нажатой кнопке HTML.

Какой самый простой способ?

function selectClient(clientName){
  var phoneRows = lookUpClientPhone(clientName);
  var t = HtmlService.createTemplateFromFile('test');
  t.data = phoneRows;
  html = t.evaluate();
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .showModalDialog(html, 'Egyező nevek');
}

 function lookUpClientPhone(clientName){
  var ugyfelRange = SpreadsheetApp.getActiveSpreadsheet().getRange('Ügyfél!B2:D');
  var ugyfelRangeSize = realRangeHeight(ugyfelRange);
  ugyfelRangeSize++;
  ugyfelRange = SpreadsheetApp.getActiveSpreadsheet().getRange('Ügyfél!B2:D'+ ugyfelRangeSize);
  var clientPhone = ugyfelRange.getValues();
  clientPhone = clientPhone.filter(function(row){
    return removeAccents(row[0]).toLowerCase() === removeAccents(clientName).toLowerCase()});
  return clientPhone;
}

HTML часть:

<!DOCTYPE html>
<html>
 <head>
    <base target="_top">
  </head>
  <body>
    <table>
      <? for (var i = 0; i < data.length; i++) { ?>
        <tr>
            <td><button id="button<?i?>" type="submit" onClick="" value="<? data[i][2] ?>"><?= data[i]?></button></td>
        </tr>
      <? } ?>
    </table>
  </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...