如何透過 Apps Script 操作 Google Sheets。
建立一個 Google Sheet 文件
• 在 Google Drive 裡建立一個新的 Google Sheets 文件,命名為「測試表單」。
• 隨便新增一些文字或數字在文件中(例如 A1 儲存格輸入「初始值」)。
方法 1:將 Apps Script 附加到 Google Sheets 文件
1. 打開想操作的 Google Sheets 文件(例如「測試表單」)。
2. 在 Sheets 選單中選擇:「擴充功能 (Extensions)」→「Apps Script」。
3. 在這裡撰寫或貼上以下程式碼:
function writeToSheet() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange("A1").setValue("新的值");
}
4. 儲存後再執行Apps Script,即可變更儲存格中的值。
如果沒在 Google Sheets 中啟動 Apps Script 編輯器
• 如果Apps Script 專案是在 https://script.google.com/ 上直接建立的,該專案預設不會連結到任何 Google 試算表。
• SpreadsheetApp.getActiveSpreadsheet() 無法找到準備使用的試算表。
2. 試算表未被開啟
• 程式執行時,Apps Script 嘗試操作未被開啟的試算表。
方法 2:指定要操作的試算表
如果 Apps Script 不是從特定的 Google Sheets 內啟動,則需明確指定要操作的試算表,此時 Apps Script 程式碼內就要加入 Google Sheet ID。例如:
1. 獲取試算表的 URL 或 ID(從網址複製 https://docs.google.com/spreadsheets/d/[這段是ID]/edit)。
2. 程式碼須指定要操作的試算表:
function writeToSheet() {
const spreadsheet = SpreadsheetApp.openById("你的試算表ID");
const sheet = spreadsheet.getActiveSheet();
sheet.getRange("A1").setValue("新的值");
}
• 將上面程式中的”你的試算表ID” 替換為實際的試算表 ID。
如何取得試算表ID,請參考
方法 3:檢查腳本執行時的有效環境
為防止錯誤,可以新增檢查機制,確認 getActiveSpreadsheet() 傳回的值不是 null:
function writeToSheet() {
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
if (!spreadsheet) {
Logger.log("無法獲取有效的試算表。請確認是否在 Google Sheets 中執行。");
return;
}
const sheet = spreadsheet.getActiveSheet();
sheet.getRange("A1").setValue("新的值");
}
執行時如果未能正確連結試算表,會在日誌中出現以下紀錄:
“無法獲取有效的試算表。請確認是否在 Google Sheets 中執行。”