簡體   English   中英

更新時的Google Forms電子郵件通知

[英]Google Forms Email Notification When Updated

我正在嘗試編寫一個腳本,該腳本將根據某人是否提交新回復或編輯其現有回復來發送特定的電子郵件。 根據提交的內容,我需要主題行顯示“名字的姓氏:編輯”或“名字的姓氏:響應”。 如果有人編輯了他們的回復,則只有已更改的值才會出現在電子郵件中;否則,電子郵件中將不會顯示任何值。 但是,如果他們不更改名稱,則不會出現在主題行中。 關於如何更改此名稱以便每次進行編輯或響應時都將顯示其名稱的任何想法? 提前致謝!

function Initialize() {

try {

var triggers = ScriptApp.getProjectTriggers();

for (var i in triggers)
  ScriptApp.deleteTrigger(triggers[i]);

ScriptApp.newTrigger("formSubmitted")
  .forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet())
  .onFormSubmit().create();

} catch (error) {
throw new Error("Please add this code in the Google Spreadsheet");
}
}
function formSubmitted(e) {

if (!e) {
throw new Error("Please go the Run menu and choose Initialize");
}

try {

if (MailApp.getRemainingDailyQuota() > 0) {

  // You may replace this with another email address
  var email = "my email";

  // Enter your subject for Google Form email notifications

    var key, entry,
    ss = SpreadsheetApp.getActiveSheet(),
    cols = ss.getRange(1, 1, 1, ss.getLastColumn()).getValues()[0],
    message = "",
    first = e.values[1],
    last = e.values[2];
    var editSubject =  first + " " + last +": Edit";    
    var submitSubject = first + " " + last + ": Submitted";

    // Iterate through the Form Fields
  for (var keys in cols) {

      key = cols[keys];
    entry = e.namedValues[key] ? e.namedValues[key].toString() : "";
      // Only include form fields that are not blank
    if ((entry !== "") && (entry.replace(/,/g, "") !== ""))
      message += key + ' :: ' + entry + "\n\n";


  }

  }

if (e.range.getNotes()[0].join('')) {
MailApp.sendEmail(email, editSubject, message);
}
else {
MailApp.sendEmail(email, submitSubject, message);
}
}



catch (error) {
Logger.log(error.toString());
}
}

您可能需要查看此文檔 ,該文檔使用觸發器在用戶響應表單時發送電子郵件。

樣品要求:

/**
 * Adjust the onFormSubmit trigger based on user's requests.
 */
function adjustFormSubmitTrigger() {
  var form = FormApp.getActiveForm();
  var triggers = ScriptApp.getUserTriggers(form);
  var settings = PropertiesService.getDocumentProperties();
  var triggerNeeded =
      settings.getProperty('creatorNotify') == 'true' ||
      settings.getProperty('respondentNotify') == 'true';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM