Google App Script- Insert value to Google Sheet

如何透過 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("新的值");
}


執行時如果未能正確連結試算表,會在日誌中出現以下紀錄: