Google电子表格的Javascript

问题描述 投票:-1回答:1

[这是我尝试使用的“键入数据”工作表的屏幕截图:key in data sheet

这是我的代码:

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发送电子邮件。这里的逻辑完全没问题,不需要任何更改。

我需要帮助的是:

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

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

非常感谢您的帮助! :)

javascript google-apps-script google-sheets
1个回答
0
投票
function myFunction(){
  var ss=SpreadsheetApp.getActive();
  var ash=ss.getActiveSheet();
  var emailAddress=ss.getSheetByName("Sheet1").getRange("B26").getValue();
  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 " + vE2;
    var subject = "Update on transfusion product (EMERGENCY!!)";
  }else if (currentCell > 6) { 
    var message="Product has reached a normal value" + vE2;
    var subject = "Update on transfusion product";
  }else {
    var message="Product has reached a minimum value" + vE2;
    var subject = "Update on transfusion product";
  }
  MailApp.sendEmail(emailAddress,subject,message); 
}
© www.soinside.com 2019 - 2024. All rights reserved.