在開始今天的文章前,先跟大家釐清兩個名詞:
那就可以開始今天的教學,對工作表 Sheet 做操作!
在對儲存格作操作以前,最重要的是我們先必須拿到我們要操作的試算表 Spreadsheet
getActiveSpreadsheet()
var curr_spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
openById(id)
var ss = SpreadsheetApp.openById("abc1234567");
拿到 Spreadsheet 的物件後,就可以對他做各種操作啦~
接下來就介紹各種 Spreadsheet 相關的操作方法
getActiveSheet()
& 所有工作表 getSheets()
function getActiveSheet() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
Logger.log(sheet.getName()); // 輸出當前活動工作表的名稱
var sheets = spreadsheet.getSheets();
for (var i = 0; i < sheets.length; i++) {
Logger.log(sheets[i].getName()); // 日誌中列出所有工作表的名稱
}
}
getActiveSheet()
獲取當前選中的工作表對象。getSheets()
獲取包含所有工作表對象的陣列。
getName()
/setName()
function getSheetByName() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
if (sheet) {
Logger.log(sheet.getName()); // 輸出工作表名稱 'Sheet1'
sheet.setName('Renamed Sheet'); // 將'Sheet1'重新命名為'Renamed Sheet'
}
}
setName(newName)
將工作表重命名為 newName。
insertSheet()
/deleteSheet()
function createSheet() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
spreadsheet.insertSheet('New Sheet', 0); // 創建名為'New Sheet'的新工作表並放在第一位
var del_sheet = spreadsheet.getSheetByName('Sheet1');
spreadsheet.deleteSheet(del_sheet); // 刪除名為'Sheet1'的工作表
}
insertSheet(name)
創建一個名稱為 name 的新工作表。insertSheet(name, sheetIndex)
將新工作表插入到指定的索引位置(例如 0 表示第一個位置)。deleteSheet(sheet)
刪除指定的工作表對象。
moveActiveSheet(position)
// This example assumes that there are 2 sheets in the current
// active spreadsheet: one named "first" in position 1 and another named "second"
// in position 2.
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
// Gets the "first" sheet and activates it.
var sheet = spreadsheet.getSheetByName("first").activate();
// Logs 'Current index of sheet: 1'
console.log("Current index of sheet: %s", sheet.getIndex());
spreadsheet.moveActiveSheet(2);
// Logs 'New index of sheet: 2'
console.log("New index of sheet: %s", sheet.getIndex());
moveActiveSheet(position)
將當前活動工作表移動到指定的索引位置。
copyTo(spreadsheet)
function copySheet() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var targetSpreadsheet = SpreadsheetApp.openById('TARGET_SPREADSHEET_ID');
sheet.copyTo(targetSpreadsheet); // 將當前工作表複製到指定試算表
}
copyTo(spreadsheet)
將當前工作表複製到指定的試算表。
getMaxRows()
/getMaxColumns()
function getSheetDimensions() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var maxRows = sheet.getMaxRows();
var maxColumns = sheet.getMaxColumns();
Logger.log('Rows: ' + maxRows + ', Columns: ' + maxColumns);
}
getMaxRows()
獲取工作表中的最大列數。getMaxColumns()
獲取工作表中的最大欄數。
insertRowBefore()
/insertColumnBefore
function insertRowsAndColumns() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.insertRowBefore(2); // 在第2行之前插入一行
sheet.insertColumnBefore(1); // 在第1欄之前插入一欄
}
insertRowBefore(position)
在指定位置前插入一行。insertColumnBefore(position)
在指定位置前插入一欄。
恭喜你把 Google Sheet 的基本操作幾乎都學得差不多啦
明天將帶你進入 Google Sheet 的最後一章:RichTextValue 讓文字不只是文字