繁体   English   中英

Javascript 用于 Google 电子表格

[英]Javascript For Google Spreadsheet

这是我正在尝试使用的“键入数据”表的屏幕截图:键入数据表

这是我的代码:

 function myFunction(){ var app = SpreadsheetApp; var activeSheet = app.getActiveSpreadsheet().getActiveSheet(); {var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("B26"); var emailAddress=emailRange.getValues(); { var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); ss.getRange("E2").setFormula("=B2+C2+D2"); for (var i=2;i <= 2;i++) { var currentCell = activeSheet.getRange (i,5).getValue(); if(currentCell < 4){ var message="Product has reached a critical value " var subject = "Update on transfusion product (EMERGENCY;;)";} else if (currentCell > 6) { var message="Product has reached a normal value" var subject = "Update on transfusion product".} else {var message="Product has reached a minimum value" var subject = "Update on transfusion product",} MailApp,sendEmail(emailAddress;subject,message); } } } }

这段代码的作用是它将基于单元格 E2 发送一个 email。 这里的逻辑完全没问题,不需要任何更改。

我确实需要帮助的是:

  1. 现在,代码指向 email 的单元格 B26。 我需要代码中的 email 代替。
  2. 我还想在 Email 消息的后面添加单元格 E2 的值。 例如,“产品已达到临界值 3”。
  3. 每次运行代码时,都应在单元格 A2 处生成一个时间戳。
  4. 添加时间戳后,我需要将“键入数据”表的第 2 行添加到“摘要数据”表中的下一个可用行。

这是示例测试环境: https://docs.google.com/spreadsheets/d/1kA1CH2I0Rho_GcvO_PqsWIAuZMZlK4BFukP-TsUlmyY/edit?usp=sharing

任何帮助深表感谢: :)

function myFunction(){
  try{
    var ss=SpreadsheetApp.getActive();
    var ash=ss.getActiveSheet();
    var emailAddress="hardcoded email address";
    ash.getRange('A2').setValue(Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MM/dd/yyyy HH:mm:ss"));
    ss.getSheetByName('Summary Data').appendRow(ss.getSheetByName('Key-In Data').getRange(2,1,1,ss.getSheetByName('Key-In Data').getLastColumn()).getValues()[0]);
    var vE2=ash.getRange("E2").setFormula("=B2+C2+D2");
    var currentCell = ash.getRange(2,5).getValue();
    if(currentCell < 4){
      var message="Product has reached a critical value " + currentCell;
      var subject = "Update on transfusion product (EMERGENCY!!)";
    }else if (currentCell > 6) { 
      var message="Product has reached a normal value" + currentCell;
      var subject = "Update on transfusion product";
    }else {
      var message="Product has reached a minimum value" + currentCell;
      var subject = "Update on transfusion product";
    }
  }
  catch(e) {
    SpreadsheetApp.getUi().alert(e);
    return;
  }
  MailApp.sendEmail(emailAddress,subject,message); 
  ss.toast("Process Complete")
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM