如何在单元格更改时运行脚本

时间:2016-01-11 09:59:21

标签: google-sheets

我在Google表格中有这个脚本,我希望它在单元格A6更改为“接受”时运行我需要这样做,因为Google表格在使用平板电脑时不显示图纸。

我发现它的开头是function onOpen(e)

有人知道怎么做吗?

我的代码:

function Melding() {
  var email = Session.getActiveUser().getEmail();
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var cell = ss.getActiveCell().getA1Notation();
  var row = sheet.getActiveRange().getRow();
  var cellvalue = ss.getActiveCell().getValue().toString();
  var recipients = sheet.getRange(7, 7).getValue();
  var message = '';
  }
  var subject = 'Update : '+sheet.getRange(4, 2).getValue();
  var body = 'text ' + sheet.getRange(4, 2).getValue() + ' text. ' + '\n' + '\nFølg link for å se endringer : ' + ss.getUrl() + '\n' + '\n' + 'text : ' + '\n' + '" ' + sheet.getRange(6, 7).getValue() + ' " ' + '\n ' + '\n (Google) ' + '\n' + '\n - VS ' + message +'';
  MailApp.sendEmail(recipients, subject, body);
    var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
  sheet.getRange('G6').setValue('No MSG');
  Browser.msgBox('Takk for det' , 'MSG sent to : '+sheet.getRange(7, 7).getValue()+ '\n' + '  - (From : '+email+')', Browser.Buttons.OK);

1 个答案:

答案 0 :(得分:1)

onOpen触发器使脚本在打开电子表格时运行。你需要的是onEdit()。请参阅此处more documentation。您可以通过将函数包装在onEdit中进行测试。

function onEdit(e) {
if(e.range.getA1Notation() !== 'A6' || e.value !== 'Accept') return;
Melding()
}

然后将A6设置为接受并查看是否会激活您的功能' Melding'。请注意,如果您想限制'只需要在电子表格中添加一个工作表的脚本,就必须添加额外的条件。

如果按预期工作,您可以优化脚本..

相关问题