簡體   English   中英

Google表單確認腳本

[英]Google Forms Confirmation Script

我一直試圖整理一個如下所述的確認腳本: http//alamoxie.com/blog/tech-tips/sending-confirmation-emails-google-docs-form/

但我總是得到這個錯誤代碼:

TypeError: Cannot read property "values" from undefined. (line 5, file "Confirmation Email")

腳本相對於標准確認的目的是提供一個易於閱讀和打印的表單,該表單僅占用一頁,僅包含相關信息,而不是標准確認書,其中有12頁。

在這種情況下,我用它來創建食物訂單。 請求者會選擇他們想要的事件,提交它,然后電子郵件確認將發送到管理員,可以打印並交給廚房拉。 我已成功制作了郵件合並類型文檔,但它會對列表中的所有內容發送確認,而我想要的是輸入的最新行(因此確認腳本)。

所以這是我的代碼:

    function onFormSubmit(e) {

  // First establish the variables. Name each variable by the e.values (column number in the spreadsheet).

  var timeStamp = e.values[0];
  var Activity = e.values[2];
  var pickUp = e.values[3];
  var pickUptime = e.values[4];
  var nPeople = e.values[5];
  var submitUser = e.values[6];
  var Equipment = e.values[7];
  var Drinks = e.values[8];
  var Breakfast = e.values[9];
  var Lunch = e.values[10];
  var Dinner = e.values[11];
  var eveningProgram = e.values[12];  
  var Event = e.values[13];
  var Snacks = e.values[14];
  var Notes = e.values[15];
  var userEmail = e.values[17];

  // These are the components of the email confirmation

   var emailTo = userEmail;
   var CCAddr = "admin@adminaddress.com";
   var subject = "Food Order Request";
   var emailBody =  "Food Order Requisition\n\n" +
                    "Pick up Date:" + pickUp + 
                    "\nPick up Time:" + pickUptime +
                    "\nSubmitted by:" + submitUser +
                    "\nDate Submitted:" + timeStamp +
                    "\n\nActivity:" + Activity +
                    "\nPeople:" + nPeople +
                    "\nMeal:" +Event +
                    "\nThe following is needed for" + Activity + "by" + submitUser + "who can be reached at" + userEmail +
                    "\n\nEquipment and Supplies:\n" + Equipment +
                    "\n\nDrinks:\n" + Drinks +
                    "\n\nSnacks:\n" + Snacks +
                    "\n\nBreakfast:\n" + Breakfast +
                    "\n\nLunch:\n" + Lunch +
                    "\n\nDinner:\n" + Dinner +
                    "\n\nEvening Program/Special Events:\n" + eveningProgram +
                    "\n\nThe following special notes were also requested:\n" + Notes +
                    "\n\nProcessed by:___________________ Processed Date & Time:_________________________Food Order Requisition";

  /**
   * Un-comment this to use it for debugging
   */
//  for (var i in e.values) {
//    Logger.log("" + i + ":" + e.values[i]);
//  }

                    MailApp.sendEmail(emailTo, subject, emailBody);


}

問題是它告訴我我的價值觀是不確定的,我無法弄清楚為什么......任何人都可以幫忙嗎?

此腳本無法從腳本編輯器執行,只有在表單提交觸發時才有效,這就是e (事件信息)獲取其參數的方式。 如果從腳本編輯器中激活,則事件信息是undefined ,這是合乎邏輯的,因為沒有發生任何事件。

所以你應該通過發送表格進行測試。

編輯:您必須創建一個onFormSubmit trigger ,以便在提交表單時運行腳本: 請參閱此處的doc以及此處

暫無
暫無

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

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