由 Copilot 傳送:
這是一個範例 Google Apps Script 程式碼,當你從 Google 表單提交資料後,會自動將資料寫入指定的 Google 試算表中,並根據你的需求進行頁籤的命名和資料寫入:
JavaScript
function onFormSubmit(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var formData = e.values;
var name = formData[1]; // 假設姓名在第二欄
var date = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), 'yyyy-MM-dd_HH_mm_ss');
var sheetName = name + '-' + date + '(1)-1';
var existingSheet = findSheetByName(sheet, name);
if (existingSheet) {
writeDataToSheet(existingSheet, formData);
} else {
var newSheet = createNewSheet(sheet, sheetName);
writeDataToSheet(newSheet, formData);
}
}
function findSheetByName(sheet, name) {
var sheets = sheet.getSheets();
for (var i = 0; i < sheets.length; i++) {
if (sheets[i].getName().startsWith(name)) {
return sheets[i];
}
}
return null;
}
Google 的表單的欄位有17個欄位.欄位1.欄位2~欄位17. 我想要使用者填完表單按下送出時直接自動填入到Google Excel 中的 D2 這裡填入第1個值.後面的16個值依序從D3.D4~D18填入..請問有沒有辦法作到呢?
Copilot
正在為您產生解答…
由 Copilot 傳送:
是的,可以透過 Google Apps Script 來實現這個功能。以下是如何設定的步驟:
建立 Google 表單:
建立一個包含 17 個欄位的 Google 表單。
連接 Google 試算表:
在 Google 表單的回應頁面,點擊右上角的「綠色試算表」圖標,將回應連接到一個新的或現有的 Google 試算表。
編寫 Google Apps Script:
打開連接的 Google 試算表,點擊「擴充功能」->「Apps Script」。
在 Apps Script 編輯器中,輸入以下程式碼:
JavaScript
function onFormSubmit(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('工作表1'); // 替換為你的工作表名稱
var responses = e.values.slice(1); // 去掉時間戳記
for (var i = 0; i < responses.length; i++) {
sheet.getRange(i + 2, 4).setValue(responses[i]); // D2 開始填入
}
}
AI 產生的代碼。請仔細檢視及使用。 深入了解常見問題集。
設定觸發器:
在 Apps Script 編輯器中,點擊左側的「時鐘」圖標,進入觸發器頁面。
點擊右下角的「新增觸發器」,設定函數為 onFormSubmit,事件來源選擇「表單提交」。
這樣,當使用者提交表單時,回應將自動填入到 Google 試算表的 D2 到 D18 欄位中。