Google雲端智慧王
一、GAS 簡介:
二、實做:
- 找到「指令碼編輯器」
 - 貼上「指令」
 - 如此一來,我們可以攔截,訪客所送出的「填報」
 - 一切從這裡開始
 
三、取得填報內容
- 取得基本方法1
	
//表單變數
var googleFormID = "googleFormID";
function FormResponse(){
  // 通過ID打開一個表單,並記錄對每個問題的回答。
  var form = FormApp.openById(googleFormID);
  //得到所有回應
  var formResponses = form.getResponses();
   
  //---- 所有回應
  for (var i = 0; i < formResponses.length; i++) {
    var formResponse = formResponses[i];//單筆回應
    var itemResponses = formResponse.getItemResponses();//回應內容
    var formResponseTime = formResponse.getTimestamp();//時間戳記    
    var formRespondentEmail = formResponse.getRespondentEmail();//取得表單上「電子郵件地址」,有設定才有
       
    //----宣告試算表每列變數----
    var rowdata = {};
     
    //----其他自訂欄位(前)
    //rowdata["填報標題"] = "";//  
    rowdata["時間戳記"] = formResponseTime;//表單回應時間
    rowdata['電子郵件地址'] = formRespondentEmail;//電子郵件地址
     
    //----取得單筆回應資料
    for (var j = 0; j < itemResponses.length; j++) {
      var itemResponse = itemResponses[j];      
      var title = itemResponse.getItem().getTitle();//問題名稱
      var value = itemResponse.getResponse();//填報內容
      rowdata[title] = value;
    }
    //其他自訂欄位(尾)
    //----單筆回應資料end  
    //----單筆要做的事情
    //----單筆要做的事情 end   
     
  }
  //刪除回應問題
  form.deleteAllResponses();
}  
	
 - 寫入另一工作表,並製作合計
	
//表單變數
var googleFormID = "googleFormID";
function FormResponse(){
  // 通過ID打開一個表單,並記錄對每個問題的回答。
  var form = FormApp.openById(googleFormID);
  //得到所有回應
  var formResponses = form.getResponses();
   
  //---- 所有回應
  for (var i = 0; i < formResponses.length; i++) {
    var formResponse = formResponses[i];//單筆回應
    var itemResponses = formResponse.getItemResponses();//回應內容
    var formResponseTime = formResponse.getTimestamp();//時間戳記    
    //var formRespondentEmail = formResponse.getRespondentEmail();//取得表單上「電子郵件地址」,有設定才有
       
    //----宣告試算表每列變數----
    var rowdata = {};
    var total = 0;
    var subs = {}; 
    //----其他自訂欄位(前)
    //rowdata["填報標題"] = "";//  
    rowdata["時間戳記"] = formResponseTime;//表單回應時間
    //rowdata['電子郵件地址'] = formRespondentEmail;//電子郵件地址
     
    //----取得單筆回應資料
    for (var j = 0; j < itemResponses.length; j++) {
      var itemResponse = itemResponses[j];      
      var title = itemResponse.getItem().getTitle();//問題名稱
      var value = itemResponse.getResponse();//填報內容
      rowdata[title] = value;
      //處理有合計的欄位
      var sub =  title.split("-");
      
      if(sub[1] != undefined){
        if(value !=  ""){
          total += parseInt(sub[1]) * parseInt(value);
        }        
      }
    }
    //其他自訂欄位(尾)
    rowdata['合計'] = total;
    //----單筆回應資料end  
    //----單筆要做的事情
    appendRow(rowdata);
    //----單筆要做的事情 end   
     
  }
  //刪除回應問題
  form.deleteAllResponses();
}  
//試算表變數
var SpreadsheetAppId = "";
var sheetName = '總表';
 
function appendRow(rowdata){
   
  //用id取得試算表
  var ss = SpreadsheetApp.openById(SpreadsheetAppId);  
  
  //用工作表名稱設定工作表
  var Sheet = ss.getSheetByName(sheetName);
  //設定工作表 0 1 2 ....
  //var Sheet = ss.getSheets()[0];//第1個工作表
   
  //插入第2行空白
  var row = 2;
  Sheet.insertRowBefore(row);
  //        
   
  //寫入記錄
  //時間戳記	桌號或外帶	鵝肉麵(乾)-60元	鵝肉麵(湯)-60元	鵝肉冬粉(乾)-60元	鵝肉冬粉(湯)-60元	鵝肉米粉(乾)-60元	鵝肉米粉(湯)-60元	合計
  var data = [rowdata['時間戳記'],rowdata['桌號或外帶'],rowdata['鵝肉麵(乾)-60元'],rowdata['鵝肉麵(湯)-60元'],rowdata['鵝肉冬粉(乾)-60元'],rowdata['鵝肉冬粉(湯)-60元'],rowdata['鵝肉米粉(乾)-60元'],rowdata['鵝肉米粉(湯)-60元'],rowdata['合計']];
  
  //寫入資料
  data.forEach(function(item,index){
    Sheet.getRange(row, index+1).setValue(item);
  });
}