Google 試算表透過表單編輯資料 Sheet connect Form
Google Sheets 內可以建立一個輸入表單,做為問卷調查、報表名、測驗卷…等功能,
預設這是提供使用者新增一筆資料,當新增後離開表單畫面,要修改資料只能從指定儲存的 Google Sheets 中編輯。
而在 Awesome Table and Google Form 範例 中,資料列中點擊 [EDIT ENTRY] 可以開啟表單畫面做編輯。
筆者依樣畫葫蘆做一個簡單範例,先看一下執行的結果
在 Google Form 中設計輸入欄位
在 Google Form 右上角 Setting 中啟用送出後可編輯
從 Google Form 中新增一筆資料
在 Google 中第一欄 [Timestamp] 左側新增一欄,這欄內容將由 Script 中產生
複製 Google Apps Script,修改第一行網址中的 ID 與第二行的 Sheet 名稱 (sheetName)。
這段語法必須修改第一行中 Form 的 ID,這可以在編輯 Form 時網址列中取得,不是分享表單時看到 ID。
var formURL = 'https://docs.google.com/forms/d/1T7IDCVvO2Osb7SlqVgWzpQoFt4IkGd8s3FQS7AhKJI0/viewform/viewform';
紅字部分與下圖黃色須一致。
設定觸發 - 當 Google Sheet 接收資料後自動執行程序
點擊 [create a new trigger]
新增觸發的設定
完成上述步驟後,從 Google Form 再新增一筆資料時,可以發現第一欄出現編輯的超連結。
預設這是提供使用者新增一筆資料,當新增後離開表單畫面,要修改資料只能從指定儲存的 Google Sheets 中編輯。
而在 Awesome Table and Google Form 範例 中,資料列中點擊 [EDIT ENTRY] 可以開啟表單畫面做編輯。
筆者依樣畫葫蘆做一個簡單範例,先看一下執行的結果
範例說明
當 Google Sheet 接受從 Google Form傳入資料時,背景執行一段 Script 產生一個超連結在該列的第一個欄位上。實作步驟
1. 建立 Google Sheets 並新增一個表單
在 Google Form 右上角 Setting 中啟用送出後可編輯
從 Google Form 中新增一筆資料
在 Google 中第一欄 [Timestamp] 左側新增一欄,這欄內容將由 Script 中產生
2. 建立 Script 與 Trigger
進入 Script editor複製 Google Apps Script,修改第一行網址中的 ID 與第二行的 Sheet 名稱 (sheetName)。
var formURL = 'https://docs.google.com/forms/d/1T7IDCVvO2Osb7SlqVgWzpQoFt4IkGd8s3FQS7AhKJI0/viewform/viewform'; var sheetName = 'Form Responses'; var columnIndex = 1 ; function getEditResponseUrls() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName); var data = sheet.getDataRange().getValues(); var form = FormApp.openByUrl(formURL); for(var i = 1; i < data.length; i++) { if (data[i][1] != '' && data[i][columnIndex-1] == '') { var timestamp = data[i][1]; var formSubmitted = form.getResponses(timestamp); if (formSubmitted.length < 1) continue; var editResponseUrl = '=HYPERLINK("'+formSubmitted[0].getEditResponseUrl()+'","修改資料")'; sheet.getRange(i+1, columnIndex).setValue(editResponseUrl); } } }
這段語法必須修改第一行中 Form 的 ID,這可以在編輯 Form 時網址列中取得,不是分享表單時看到 ID。
var formURL = 'https://docs.google.com/forms/d/1T7IDCVvO2Osb7SlqVgWzpQoFt4IkGd8s3FQS7AhKJI0/viewform/viewform';
紅字部分與下圖黃色須一致。
設定觸發 - 當 Google Sheet 接收資料後自動執行程序
點擊 [create a new trigger]
新增觸發的設定
完成上述步驟後,從 Google Form 再新增一筆資料時,可以發現第一欄出現編輯的超連結。