So implementieren Sie IF NOT TRUE

LAD Service Desk

Situation:

Das folgende Skript überprüft die Spalte N auf Daten. Wenn eine Zelle ab Zeile 3 in Spalte N Daten enthält, extrahiert das Skript die Daten und sendet sie mir per E-Mail.
Aber wenn eine Zelle ab ROW3 in Spalte N keine Daten hatte, wird im E-Mail-Text Folgendes angezeigt: "Liebes Team, im Moment kein Problem."

Wie kann ich das machen? Ich versuche es zu verwenden, wenn nicht, aber ich denke, es ist nicht der richtige Weg, dies zu tun.

Mein Skript lautet wie folgt:

function emailv1() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var Support = ss.getSheetByName("Shift");
  var lastrow = Support.getLastRow();

  var data1 = Support.getRange(3, 1, lastrow).getValues(); // XML ID
  var data2 = Support.getRange(3, 2, lastrow).getValues(); // SEQ NAME
  var data3 = Support.getRange(3, 14, lastrow).getValues(); // Notes
  var date2 = Utilities.formatDate(new Date(), "GMT-3", "dd/MM/yyyy HH:mm"); // Funtion Date + Format

  //var name = Browser.inputBox('Monitor', 'Ingrese el Horario Monitoreado', Browser.Buttons.OK_CANCEL);

/////////////////////// FOLLOWUP TABLE /////////////////////////
  var report = " "
  var supportTable ="";
  for(var i in data3)
  {
     if(data3[i]!="") 

      { supportTable += "<tr><td style='color:blue;padding:5px'>" + data1[i]
                                      + "</td><td style='padding:5px'>" + data2[i] 
                                      + "</td><td style='padding:5px'>" + data3[i] 
                                      + "</td></tr>";


  report ="Dears: <br><br><b>The following sequences were reported with faults:</b><br><br><table style='border-collapse:collapse;'border = 1 cellpadding = 5; align='center'><tr><th style='background-color:black;color:white'>XML ID</th><th style='background-color:black;color:white'>SEQUENCER</th><th style='background-color:black;color:white'>Notes</tr>" + supportTable + "</table>";
      }
  }   

/////////////////////////////////////////////////////////////
/////////////////////// URL SHIFT ////////////////////////////
  var report4 = "<br><H1 align='center'><a href=https://docs.google.com/spreadsheets/d/XXXXXX>URL SHIFT</a></H1>"

/////////////////////////////////////////////////////////////

  MailApp.sendEmail("[email protected]",
                    "[CUSTOMER NAME] Shift Change - " + date2, 
                    report,
                    {name: 'Automatic Emailer Script',
                    htmlBody: report +'<br><br><br><br>'+ report4});


  Support.getRange('N3:N133').clearContent(); // I want to put all cell in column N but I don't know what but for that razon I put a range.

}

Ich werde mich über jede Hilfe freuen, ich versuche das Folgende

else if(data3[i]="") {report="text"]; //not working
else if(data3[i]=="") {report="text"]; //not working
else if(data3[i]==="") {report="text"]; //not working
Jack Brown

Aus Ihren Kommentaren geht hervor, dass Sie dem Code eine neue Funktionalität hinzufügen möchten. Wenn in Spalte N leer ist, erhalten Sie eine E-Mail mit dem Text "Liebes Team, im Moment kein Problem" (ich bin mir jedoch nicht sicher, was das bedeutet!).

Ich habe den Code so geändert, dass überprüft wird, ob Daten in supportTable enthalten sind:

if (supportTable == ""){
   report = "Dear Team, any problem for the moment" 
  } else {

    report ="Dears: <br><br><b>The following sequences were reported with faults:</b><br><br><table style='border-collapse:collapse;'border = 1 cellpadding = 5; align='center'><tr><th style='background-color:black;color:white'>XML ID</th><th style='background-color:black;color:white'>SEQUENCER</th><th style='background-color:black;color:white'>Notes</tr>" + supportTable + "</table>";
  }

Sie können hier sogar isEmpty (str) von @AlGoreRythm verwenden, wenn Sie möchten. Wenn diese Variable keine Daten enthält, setzen Sie den Text der E-Mail auf die oben genannte Zeichenfolge. BEARBEITEN: Etwas, das ich zuvor verpasst habe, war, dass getValues ​​ein 2D-Array von Daten liefert. Um auf die Daten zuzugreifen, müssen Sie zwei Indizes verwenden und nicht einen wie zuvor (Beispiel: Daten [i] [0] und keine Daten [i]).

 function emailv1() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var Support = ss.getSheetByName("Shift");
  var lastrow = Support.getLastRow();
  Logger.log("LastRow: "+lastrow)
  var data1 = Support.getRange(3, 1, lastrow-2).getValues(); // XML ID
  var data2 = Support.getRange(3, 2, lastrow-2).getValues(); // SEQ NAME
  var data3 = Support.getRange(3, 14, lastrow-2).getValues(); // Notes
  var date2 = Utilities.formatDate(new Date(), "GMT-3", "dd/MM/yyyy HH:mm"); // Funtion Date + Format

  //var name = Browser.inputBox('Monitor', 'Ingrese el Horario Monitoreado', Browser.Buttons.OK_CANCEL);

/////////////////////// FOLLOWUP TABLE /////////////////////////
  var report = " "
  var supportTable ="";

  for(var i in data3)
  {  


     if(data3[i][0]!="") 

      { supportTable += "<tr><td style='color:blue;padding:5px'>" + data1[i][0]
                                      + "</td><td style='padding:5px'>" + data2[i][0]
                                      + "</td><td style='padding:5px'>" + data3[i][0] 
                                      + "</td></tr>";



      }
    else {

      Logger.log("Empty Row: " + i) 
    }
  }   

/////////////////////////////////////////////////////////////
/////////////////////// URL SHIFT ////////////////////////////
  // Check to see if supoortTable has any data in it, if not set the text to "Dear Team, any problem for the moment" 
  if (supportTable == ""){
   report = "Dear Team, any problem for the moment" 
  } else {

    report ="Dears: <br><br><b>The following sequences were reported with faults:</b><br><br><table style='border-collapse:collapse;'border = 1 cellpadding = 5; align='center'><tr><th style='background-color:black;color:white'>XML ID</th><th style='background-color:black;color:white'>SEQUENCER</th><th style='background-color:black;color:white'>Notes</tr>" + supportTable + "</table>";
  }
var report4 = "<br><H1 align='center'><a href=https://docs.google.com/spreadsheets/d/XXXXXX>URL SHIFT</a></H1>"
Logger.log(report)
/////////////////////////////////////////////////////////////

  MailApp.sendEmail("[email protected]",
                    "[CUSTOMER NAME] Shift Change - " + date2, 
                    report,
                    {name: 'Automatic Emailer Script',
                    htmlBody: report +'<br><br><br><br>'+ report4});


  Support.getRange('N3:N133').clearContent(); // I want to put all cell in column N but I don't know what but for that razon I put a range.

}

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel