Send string to spreadsheet via email

Asked

Viewed 33 times

1

Hello, I have a spreadsheet in Googledocs, which sends, via script, an email alert to the user when the deadline for a task is expiring. I would like the user, when receiving this message, to have the option to click on a button or link to stop receiving, that is, in case the task has been accomplished. One solution I’m thinking about is, when the user clicks the button, the string "yes" would be sent and replace the user’s email. So, if the email field has the string yes, instead of the email, the script would run, try to send the email, but, since the record does not contain valid email, it would not be sent. The spreadsheet is below, and the code is just below the spreadsheet:

inserir a descrição da imagem aqui

function paraTest() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 0;  // First row of data to process
  var numRows = sheet.getLastRow();
  var lastCol = sheet.getLastColumn();
      var dataRange = sheet.getRange(2, 1, numRows-startRow,lastCol).getValues();  //Get all values except the header rows


  for (var i=0;i<numRows-startRow;i++){
    var expire = dataRange[i][10]; 

    if (expire > 0 & expire < 10) {
      var emailAddress = dataRange[i][7];
      var subject = "Você tem um prazo de auditoria vencendo em " + dataRange[i][10] + " dias";
      //var teste = Utilities.formatDate(dataRange[i][1], "GMT", "dd/MM/yyyy");
      var dataPreenchimento = new Date(dataRange[i][0]); //criei essas variaveis pq tava dando erro dataFormat, mas enviava normal.
      var dataFinal = new Date(dataRange[i][4]);

      var dataEnvio = Utilities.formatDate(dataPreenchimento, "GMT", "dd/MM/yyyy");
  var dataFim = Utilities.formatDate(dataFinal, "GMT", "dd/MM/yyyy");
      var message = "<P><r style='color: #000000; font-size: 12px; font-weight:bold;'> "
      + "*Esta é a Proposta de encaminhamento de " + dataEnvio + "\n" + ", que deve ser respondida até <font color=#FF0000;'>" + dataFim + "</r>" +
        "<P><a style='color: #000000; font-size: 12px; font-weight:bold;'>" 
      + "Identificação do Documento: </a>" + "<b style='color: #000000; font-size: 11px;'>" + dataRange[i][2] + "</b>" + "<P><b style='color: #000000; font-size: 12px; font-weight:bold;'> "
      + "Recomendação de Auditoria: </b> " + "<b style='color: #000000; font-size: 11px;'>" +  dataRange[i][3] + "</b>" + "<P><i style='color: #000000; font-size: 11px;'> OBS: Caso nao deseje mais receber avisos" +
        "(por exemplo, no caso de a recomendacao ja ter sido cumprida), remova seu email ou entre em contato</i></P>"
      +"<P><f style='color: #000000;'> ------------------------------------------------------------------------------------------------------------------------------------" + 
        "---------------------------------------------------------------------</f></P>"+
          "<P><i style='color: #FF0000; font-size: 10px;'> NOTA: Amparada na Portaria PRESI 1144/2015, publicou um manual com novas regras de monitoramento." +
        "Para acessá-lo, consulte o manual de monitoramento, disponível <A href='url do manual'>aqui</A>. Contate pelos telefones: " +
          "33236780/6079 e e-mail: [email protected], para maiores informações </i></P>";

      + "<P><i style='color: #FF0000; font-size: 10px;'> NOTA: Amparada na Portaria PRESI 1144/2015, publicou um manual com novas regras de monitoramento." +
        "Para acessá-lo, consulte o manual de monitoramento, disponível <A href='url do manual'>aqui</A>. Contate pelos telefones: " +
          "33094780/6779 e e-mail: [email protected], para maiores informações </i></P>";

  //MailApp.sendEmail(emailAddress, subject, "", {htmlBody: message});//da erro, porem, envia email normal. 
      MailApp.sendEmail({
      to: emailAddress.toString(),
      subject: subject,
      htmlBody: message

      });
    } else if (expire < 0) {
      var emailAddress = dataRange[i][7];
      var dataPreenchimento = new Date(dataRange[i][0]); //criei essas variaveis pq tava dando erro dataFormat, mas enviava normal.
      var dataFinal = new Date(dataRange[i][4]);
      var dataEnvio = Utilities.formatDate(dataPreenchimento, "GMT", "dd/MM/yyyy");
      var dataFim = Utilities.formatDate(dataFinal, "GMT", "dd/MM/yyyy");
      var subject = "Você tem um prazo de auditoria que venceu em " + dataFim + "(" + dataRange[i][10] + " dias atras)";
      //var teste = Utilities.formatDate(dataRange[i][1], "GMT", "dd/MM/yyyy");

      var message = "<P><r style='color: #000000; font-size: 12px; font-weight:bold;'> "
      + "*Esta é a Proposta de encaminhamento, de " + dataEnvio + "\n" + ", que deveria ter sido respondida até <font color=#FF0000;'>" + dataFim + "</r>" +
        "<P><a style='color: #000000; font-size: 12px; font-weight:bold;'>" 
      + "Identificação do Documento: </a>" + "<b style='color: #000000; font-size: 11px;'>" + dataRange[i][2] + "</b>" + "<P><b style='color: #000000; font-size: 12px; font-weight:bold;'> "
      + "Recomendação de Auditoria: </b> " + "<b style='color: #000000; font-size: 11px;'>" +  dataRange[i][3] + "</b>" + "<P><i style='color: #000000; font-size: 11px;'> OBS: Caso nao deseje mais receber avisos" +
        "(por exemplo, no caso de a recomendacao ja ter sido cumprida), remova seu email ou entre em contato</i></P>"
      +"<P><f style='color: #000000;'> ------------------------------------------------------------------------------------------------------------------------------------" + 
        "---------------------------------------------------------------------</f></P> " +
      "<P><i style='color: #FF0000; font-size: 10px;'> NOTA: Amparada na Portaria PRESI 1144/2015, publicou um manual com novas regras de monitoramento." +
        "Para acessá-lo, consulte o manual de monitoramento, disponível <A href='url do manual'>aqui</A>. Contate pelos telefones: " +
          "33626780/6779 e e-mail: [email protected], para maiores informações </i></P>";


  //MailApp.sendEmail(emailAddress, subject, "", {htmlBody: message});//da erro, porem, envia email normal. 
      MailApp.sendEmail({
      to: emailAddress.toString(),
      subject: subject,
      htmlBody: message

      });

    }
  }
}
  • Could you put the code of the script? only with the image can not help you.

  • Yes, I’ve edited with the code

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.