報到系統 | 掃描QRcode 立即報到 part2
2019-04-09 18:32:42

請直接觀看最新版教學文
>> (終極版)用Google Sheet搭配APP | 做出掃瞄QR code報到系統
-------
一、使用Google 表單 建立 報到表單
二、報到表單->回覆->(選項)->選取回應目的地Take Notes
三、在 報到表單回應試算表中,建立新的工作表
四、試算表->工具->指令碼編輯器
>> (終極版)用Google Sheet搭配APP | 做出掃瞄QR code報到系統
-------
一、使用Google 表單 建立 報到表單
二、報到表單->回覆->(選項)->選取回應目的地Take Notes
三、在 報到表單回應試算表中,建立新的工作表
四、試算表->工具->指令碼編輯器

開啟指令碼編輯器之後,會有空白的專案,可以寫Google App Script程式

將以下程式碼複製貼上:
var formURL = 'https://docs.google.com/forms/d/e/1FAIpQLSclLLKtqW17OHyIif9JIzHKK0rt31h_-_FJnDiLWjHZDS6Ucg/formResponse';
var field1 = '1100034522';
var field2 = '547433849';
function generateQRcode() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var uid = ss.getRange("工作表2!A2:A").getValues();
var uname = ss.getRange("工作表2!B2:B").getValues();
var a = ss.getRange("工作表2!C2:C");
var QRcode = a.getValues();
for (var i = 0; i < ss.getSheetByName("工作表2").getLastRow()-1 ; i ) {
QRcode[i][0] = '=IMAGE("http://chart.apis.google.com/chart?cht=qr&chs=500x500&chl=' formURL '?usp=pp_url&entry.' field1 '=' uid[i][0] '&entry.' field2 '=' uname[i][0] '")';
}
a.setValues(QRcode);
}
function markAttendence() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var Uid = ss.getRange("工作表2!A2:A").getValues();
var ID = ss.getRange("表單回應1!B2:B").getValues();
ss.getSheetByName("工作表2").getRange('B2:B').setBackground('#FFFFFF');
for (var i = 2; i < ss.getSheetByName("表單回應1").getLastRow() 1 ; i ) {
for (var j = 2; j < ss.getSheetByName("工作表2").getLastRow() 1 ; j ) {
if (ID[i-2][0]==Uid[j-2][0]){
ss.getSheetByName("工作表2").getRange('B' j).setBackground('#00FF00');
break;
}
}
}
}
============我是分隔線============

修改程式碼:變數內容更正
有三個變數formURL、field1、field2需要更正。
取得正確的變數內容:
開啟自己所建立的Google表單,選擇更多功能,選擇取得欲先填入的連結

開啟之後的畫面:

在電子郵件地址與姓名,暫時寫入假資料,然後按取得連結:

在左下角會出現浮動訊息,然後按複製連結:

將複製到內容,貼到指令碼編輯器:

看到複製的內容為一串網址。用虛線選取的三個地方,填入三個變數的值。

變數formURL要更正是特定位置的內容,並非全部更正。將下圖中虛線框住的地方更正即可:

把程式碼儲存:


設定觸發程式的時機:
按下 現有專案的啟動程序:














按下允許之後,畫面會回到指令碼編輯器。
將你所擁有的 這次活動報名清單,整理成為有電子郵件地址、姓名欄位的清單資料,例如:

將實際資料複製(不包括電子郵址、姓名),然後在工作表2的電子郵件地址、姓名欄位之下貼上。再等個幾秒鐘,Google會自動偵測到有變更動作,會自動產生qrcode:
