在google sheet 中 用程式去更改每個分頁的內容

如果一個試算表裡面有很多個分頁 都要做上重複的事情 去更改分頁內容 又不能用複製分頁的方式去更改 要怎樣做會比較方便呢?

可以利用 google sheet 中的 擴充功能 內的 apps script 用程式碼的方式 去更改每個分頁的內容。 可以利用迴圈 讓 重複做的事情 交給電腦去執行。

修正每個分頁 的長寬

function addColumnToEachSheet() {
  // 獲取當前工作簿
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();

  // 自定義列寬(單位:像素)
  var customWidth = 90; // 可根據需求調整為適合閱讀的寬度

// 獲取所有分頁並篩選名稱為 "1" 到 "31" 的分頁
  var sheets = spreadsheet.getSheets().filter(function(sheet) {
    var name = sheet.getName();
    return /^[1-9]$|^[1-2][0-9]$|^3[0-1]$/.test(name); // 篩選名稱為 "1" 到 "31" 的分頁
  });

  sheets.forEach(function(sheet) {
    // 獲取分頁的最後一列和最後一行
    var lastColumn = sheet.getLastColumn(); // 獲取最後一列的列號
    var lastRow = sheet.getLastRow();       // 獲取最後一行的行號

    // 如果分頁中有內容,調整列寬和禁用文字換行
    if (lastColumn > 0 && lastRow > 0) {
      for (var col = 1; col <= lastColumn; col++) {
        sheet.setColumnWidth(col, customWidth); // 設置列寬
      }
      // 禁用文字換行
      var range = sheet.getRange(1, 1, lastRow, lastColumn);
      range.setWrap(false);
    }
  });

  // 顯示完成提示
  SpreadsheetApp.getUi().alert("已成功調整名稱為 1~31 的分頁的列寬為 " + customWidth + " 像素,並禁用文字換行!");
}



複製公式 到指定欄位

 sheet.getRange("G2").setFormula("=B2-F2");

    // 將 G2 的公式複製到 G3 到 G20
    var formula = sheet.getRange("G2").getFormula(); // 取得 G2 的公式
    sheet.getRange("G3:G20").setFormula(formula); // 將公式設置到 G3:G20
  });

發佈留言

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

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料