GAS 用程式自動填寫試算表的格子

獲取試算表物件

要操作格子前,得先告訴程式你要哪張工作表。最簡單的方法是抓目前正在看的這一張。

function fillCell() {
  var sheet = SpreadsheetApp.getActiveSheet();
}

指定格子並填入內容

使用 getRange 函式來選取位置。括號內的第一個數字是列,第二個數字是欄。填入文字要記得加上引號。

function fillCell() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange(1, 1).setValue("這是自動填寫的內容");
}

執行程式

回到編輯器上方。確認選取的函式是 fillCell。按下執行。你會發現試算表 A1 的位置出現了文字。

批次填寫多個格子

如果想填入多個位置。可以連續寫好幾行 getRange。或是用迴圈處理大量的資料。

function fillManyCells() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange("B2").setValue(100);
  sheet.getRange("C3").setValue("完成");
}

如何根據特定條件自動更改格子的顏色?

讀取儲存格數值

要判斷條件,必須先拿到格子的數值。我們用 getValue 抓取內容。然後存進一個變數裡。

function checkScore() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var score = sheet.getRange(1, 1).getValue();
}

設定條件判斷

使用 if 語法來判斷。假設分數小於 60 分。我們就把格子背景改成紅色。如果及格,就改成綠色。

function checkScore() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getRange(1, 1);
  var score = range.getValue();

  if (score < 60) {
    range.setBackground("red");
  } else {
    range.setBackground("green");
  }
}

顏色代碼說明

setBackground 可以接受英文顏色名稱。也可以輸入網頁常用的 HEX 色碼。例如 #ffff00 代表黃色。

自動化的小技巧

你可以先在 A1 格子輸入一個數字。再執行這段程式。你會發現格子的顏色會隨著數字大小改變。這就是最基礎的自動化邏輯。


如何用迴圈一次檢查整排學生的成績?

使用迴圈檢查多個格子

如果要檢查一整排分數。手動寫十次 getRange 太累。這時候要用 for 迴圈。它可以讓程式重複執行指定的次數。

撰寫批次判斷程式

這段程式會檢查第一欄的前十個格子。如果是空格就跳過。有分數就判斷顏色。

function checkAllScores() {
  var sheet = SpreadsheetApp.getActiveSheet();
  
  for (var i = 1; i <= 10; i++) {
    var range = sheet.getRange(i, 1);
    var score = range.getValue();
    
    if (score === "") continue;
    
    if (score < 60) {
      range.setBackground("pink");
    } else {
      range.setBackground("lightblue");
    }
  }
}

程式運作邏輯

i 是迴圈的計數器。一開始設定為 1。每次執行完括號裡的動作。i 就會加 1。直到增加到 10 為止。getRange(i, 1) 會隨著 i 改變。依序選取不同列。

測試執行結果

先在試算表 A1 到 A10 輸入不同的數字。回到編輯器執行 checkAllScores 函式。你會看到十個格子瞬間依照分數變換顏色。這就是自動化的威力。


如何把這些功能做成一個按鈕直接點選。

插入圖形當作按鈕

回到試算表介面。點選上方選單的插入。選擇繪圖。在繪圖視窗選一個喜歡的形狀。畫在畫布上。點兩下形狀可以輸入文字。寫上執行檢查。按下右上方儲存並關閉。

連結程式碼

你會在試算表看到剛畫好的圖案。用滑鼠右鍵點一下它。圖案右上角會出現三個小點。點開後選擇指派指令碼。

輸入函式名稱

跳出的視窗要輸入你想執行的函式名字。輸入 checkAllScores。名字要跟程式碼裡寫的一模一樣。大小寫不能有任何錯誤。最後按下確定。

測試按鈕功能

現在直接用左鍵點一下圖案。程式就會自動跑起來。不需要再打開程式編輯器。這對不懂程式的人來說非常方便。這就像是做了一個自己的小軟體。

你想試試看如何把這些資料自動寄電子郵件。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *