彰化一整天的論壇

 找回密碼
 立即註冊
查看: 237|回復: 0

【Google表單教學】表單送出時自動寄送購買總金額給購買...

[複製鏈接]
發表於 2019-12-17 17:52:48 | 顯示全部樓層 |閱讀模式
本帖最後由 imingho 於 2019-12-20 16:25 編輯

這個版本是修改過的,之前的是有數量可以選取,這次網友的問題是無數量的版本,就是每個人只能選一個,這次說明要如何修改及使用。

1.在google回應的試算表中,選【工具】/【指令碼編輯器】
2.貼上程式碼/【儲存】
3.設定觸發條件,【來源】/【試算表】,【活動類型】/【提交表單時】
4.執行有錯誤時,可以透過【查看】/【執行記錄】來偵錯
範例連結:https://forms.gle/YVe19ZhErAQxTPiC8

程式碼連結:http://discuz.bestdaylong.com/thread-38694-1-1.html

網友問題:http://discuz.bestdaylong.com/thread-38379-11-1.html



  1. function autoSendmail(data) {
  2.   var subject = "彰化一整天訂購物網 表單自動通知", // 信件標題
  3.       emailTitle = "電子郵件地址", // 表單中收件者 email 這個項目的標題
  4.       namedValues = data.namedValues,
  5.       values=data.values,      
  6.       notifyEmail = namedValues[emailTitle] ? namedValues[emailTitle][0]:"" ,
  7.       html = "";
  8.   
  9.   //設定產品價格,選項名稱內容
  10.   var price={"20枝(全部原味,500元含運費)":500,"20枝(全部紅豆,500元含運費)":500,"20枝(紅豆原味各半,500元含運費)":500,"雞精原味12包(1500元)":1500,"雞精粉光12包(1800元)":1800,"雞精原味12包(1800元)":1800,"雞精粉光24包(3600元)":3600,"雞精人參24包(3600元)":3600,"是(加60元運費差額)":60};

  11.   var money=0;
  12.   
  13.   var free_shipping_money=3000; //設定免運費金額
  14.   
  15.   var freight=160;//設定運費金額
  16.   
  17.   var n=data.values.length;
  18.   
  19.   var fields="";
  20.   
  21.   var field=["時間戳記","電子郵件地址","請問您想購買的產品","羊奶冰棒","香純滴雞精","是否加禮盒","指定配送時間","您的姓名","性別","聯絡電話","寄送地址","其他說明"]
  22.   
  23.   var field_color={"羊奶冰棒":"#ff0000","香純滴雞精":"#00ff00"}; //設定產品字型顏色
  24.   
  25.   var d="";
  26.   
  27.   var i,j;
  28.   
  29.   
  30.   html="<img src='http://bestdaylong.com/images/sheep_ice.jpg'><br/>";  //設定Logo圖片
  31.   
  32.   html+="<div style=\"color:black\">";
  33.   for (i = 0; i < n; i++) {
  34.     v= namedValues[field[i]] ? namedValues[field[i]][0]:"" ;
  35.     if(v!="")//有輸入的資料才顯示
  36.     {
  37.       if(field_color[field[i]]!=undefined) //有顏色再設定
  38.          html+="<font color="+field_color[field[i]]+">"+field[i]+"</font>"+":"+v+"<br/>";
  39.       else
  40.          html+=field[i]+":"+v+"<br/>";
  41.       if(price[v]!=undefined) //選項有價格才加入費用
  42.         money+=price[v];         
  43.      }
  44.   }
  45.   
  46.   html+="您購買"+money+"元<br/>";
  47.   
  48.   //判斷只有滴雞精才要算運貨
  49.   var shop_kind=namedValues["請問您想購買的產品"] ? namedValues["請問您想購買的產品"][0]:""; //設定免運商品
  50.   
  51.   if(shop_kind=="滴雞精")
  52.   {
  53.     if(money<free_shipping_money)
  54.     {
  55.       money+=freight
  56.       html+="運費:"+freight+"元<br/>";
  57.     }
  58.     else
  59.     {
  60.       html+="運費:免費(滿"+free_shipping_money+"元)<br/>";
  61.     }
  62.   }
  63.    
  64.   html+="總費用為"+money+"元<br/>";
  65.   
  66.   html+="</dvi><div style=\"color:purple\">" ;
  67.   
  68.   
  69.   html+="-----轉帳匯款資訊------------<br/>";
  70.   html+="銀行名稱:兆豐國際商業銀行(代碼:017)<br/>";
  71.   html+="分行名稱:竹北分行<br/>";
  72.   html+="戶名:彰化一整天<br/>";
  73.   html+="帳號:000-00-000000<br/>";
  74.   
  75.   html+="</div>";
  76.             
  77.   MailApp.sendEmail({
  78.     to: notifyEmail,
  79.     subject: subject,
  80.     htmlBody: html
  81.   });
  82.   
  83.   //將總金額回填儲存格
  84.   var sheet =SpreadsheetApp.getActiveSheet();
  85.   var LastRow=sheet.getActiveCell().getLastRow(); //取得最後一列
  86.   sheet.getRange("M"+LastRow).setValue(money);//將資料寫到M欄的最後一筆
  87.   
  88. }
  89. function test()
  90. {
  91.     var sheet =SpreadsheetApp.getActiveSheet();
  92.    
  93.     Logger.log(sheet.getSheetValues(1,1,1,1));   
  94.   sheet.getActiveCell().getLastRow();
  95.   
  96. }
複製代碼



回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)  

GMT+8, 2020-2-22 02:45 , Processed in 0.128678 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表