在Google工作表modalDialog中按下按钮即可为单元格分配值

时间:2018-07-03 15:26:47

标签: html google-apps-script google-sheets

我有一个包含客户数据的Google工作表。 我使用电话号码作为唯一ID。我知道这并不理想,我会稍后进行更改,现在可以了。

在另一张纸上,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>

0 个答案:

没有答案