存取及修改試算表工作表。常見的操作包括重新命名試算表,以及從試算表存取範圍物件。
方法
內容詳盡的說明文件
activate()
啟用這個工作表。不會變更工作表本身,只會變更父項對活動工作表的概念。
// This example assumes there is a sheet named "first" const ss = SpreadsheetApp.getActiveSpreadsheet(); const first = ss.getSheetByName('first'); first.activate();
回攻員
Sheet
:新啟用的試算表。
addDeveloperMetadata(key)
將含有指定鍵的開發人員中繼資料新增至試算表。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Adds the key 'NAME' to the developer metadata for the sheet. sheet.addDeveloperMetadata('NAME'); // Gets the updated metadata info and logs it to the console. console.log(sheet.getDeveloperMetadata()[0].getKey());
參數
名稱 | 類型 | 說明 |
---|---|---|
key | String | 新的開發人員中繼資料鍵。 |
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addDeveloperMetadata(key, visibility)
將含有指定鍵和瀏覽權限的開發人員中繼資料新增至工作表。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Adds the key 'NAME' and sets the developer metadata visibility to PROJECT // for the sheet. sheet.addDeveloperMetadata( 'NAME', SpreadsheetApp.DeveloperMetadataVisibility.PROJECT, ); // Gets the updated metadata info and logs it to the console. const developerMetaData = sheet.getDeveloperMetadata()[0]; console.log(developerMetaData.getKey()); console.log(developerMetaData.getVisibility().toString());
參數
名稱 | 類型 | 說明 |
---|---|---|
key | String | 新的開發人員中繼資料鍵。 |
visibility | DeveloperMetadataVisibility | 新開發人員中繼資料的瀏覽權限。 |
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addDeveloperMetadata(key, value)
將含有指定鍵和值的開發人員中繼資料新增至工作表。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Adds the key 'COMPANY' with the value 'TECH' to the developer metadata for // the sheet. sheet.addDeveloperMetadata('COMPANY', 'TECH'); // Gets the updated metadata info and logs it to the console. const developerMetaData = sheet.getDeveloperMetadata()[0]; console.log(developerMetaData.getKey()); console.log(developerMetaData.getValue());
參數
名稱 | 類型 | 說明 |
---|---|---|
key | String | 新的開發人員中繼資料鍵。 |
value | String | 新開發人員中繼資料的值。 |
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addDeveloperMetadata(key, value, visibility)
將含有指定鍵、值和瀏覽權限的開發人員中繼資料新增至工作表。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Adds the key 'COMPANY' with the value 'TECH' to the developer metadata and // sets the visibility to DOCUMENT for the sheet. sheet.addDeveloperMetadata( 'COMPANY', 'TECH', SpreadsheetApp.DeveloperMetadataVisibility.DOCUMENT, ); // Gets the updated metadata info and logs it to the console. const developerMetaData = sheet.getDeveloperMetadata()[0]; console.log(developerMetaData.getKey()); console.log(developerMetaData.getValue()); console.log(developerMetaData.getVisibility().toString());
參數
名稱 | 類型 | 說明 |
---|---|---|
key | String | 新的開發人員中繼資料鍵。 |
value | String | 新開發人員中繼資料的值。 |
visibility | DeveloperMetadataVisibility | 新開發人員中繼資料的瀏覽權限。 |
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
appendRow(rowContents)
將資料列附加至工作表中目前資料區域的底部。如果儲存格內容開頭為 =
,系統會將其解讀為公式。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Appends a new row with 3 columns to the bottom of the current // data region in the sheet containing the values in the array. sheet.appendRow(['a man', 'a plan', 'panama']);
參數
名稱 | 類型 | 說明 |
---|---|---|
rowContents | Object[] | 要插入工作表最後一列後方的值陣列。 |
回攻員
Sheet
:工作表,可用於方法鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
asDataSourceSheet()
如果工作表的類型為 SheetType.DATASOURCE
,則會傳回工作表為 DataSourceSheet
;否則會傳回 null
。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can useSpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Gets the data source sheet value if the sheet is of type // SpreadsheetApp.SheetType.DATASOURCE, otherwise this returns a null value. const dataSourceSheet = sheet.asDataSourceSheet(); // Gets the data source sheet value and logs it to the console. console.log(dataSourceSheet); console.log(sheet.getType().toString());
回攻員
DataSourceSheet
:資料來源工作表。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
autoResizeColumn(columnPosition)
將指定欄的寬度設為適合其內容的寬度。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; sheet.getRange('a1').setValue( 'Whenever it is a damp, drizzly November in my soul...'); // Sets the first column to a width which fits the text sheet.autoResizeColumn(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
columnPosition | Integer | 要調整大小的指定欄位置。 |
回攻員
Sheet
:工作表,可用於方法鏈結
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
autoResizeColumns(startColumn, numColumns)
設定從指定資料欄位置開始的所有資料欄寬度,以便配合內容。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Sets the first 15 columns to a width that fits their text. sheet.autoResizeColumns(1, 15);
參數
名稱 | 類型 | 說明 |
---|---|---|
startColumn | Integer | 自動調整欄寬的起始欄。 |
numColumns | Integer | 要自動調整的欄數。 |
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
autoResizeRows(startRow, numRows)
設定從指定列位置開始的所有列高度,以便容納內容。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Sets the first 15 rows to a height that fits their text. sheet.autoResizeRows(1, 15);
參數
名稱 | 類型 | 說明 |
---|---|---|
startRow | Integer | 要自動調整大小的起始列。 |
numRows | Integer | 要自動調整大小的列數。 |
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
clear()
清除工作表的內容和格式資訊。
// This example assumes there is a sheet named "first" const ss = SpreadsheetApp.getActiveSpreadsheet(); const first = ss.getSheetByName('first'); first.clear();
回攻員
Sheet
:已清除的工作表。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
clear(options)
清除工作表的內容和/或格式,如指定的進階選項所述。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; sheet.clear({formatOnly: true, contentsOnly: true});
參數
名稱 | 類型 | 說明 |
---|---|---|
options | Object | 包含進階選項的 JavaScript 地圖,如下所列。 |
進階參數
名稱 | 類型 | 說明 |
---|---|---|
contentsOnly | Boolean | 是否要清除內容。 |
formatOnly | Boolean | 是否要清除格式。 |
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
clearConditionalFormatRules()
從工作表中移除所有條件式格式規則。等同於以空陣列做為輸入內容,呼叫 setConditionalFormatRules(rules)
。
const sheet = SpreadsheetApp.getActiveSheet(); sheet.clearConditionalFormatRules();
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
clearContents()
清除工作表內容,但保留格式資訊。
// This example assumes there is a sheet named "first" const ss = SpreadsheetApp.getActiveSpreadsheet(); const first = ss.getSheetByName('first'); first.clearContents();
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
clearFormats()
清除工作表的格式設定,但保留內容。
格式是指資料的格式設定方式,例如「格式」選單下方的選項 (例如粗體、斜體、條件式格式),而非儲存格的寬度或高度。
// This example assumes there is a sheet named "first" const ss = SpreadsheetApp.getActiveSpreadsheet(); const first = ss.getSheetByName('first'); first.clearFormats();
回攻員
Sheet
:這個工作表用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
clearNotes()
清除所有筆記的試算表。
// This example assumes there is a sheet named "first" const ss = SpreadsheetApp.getActiveSpreadsheet(); const first = ss.getSheetByName('first'); first.clearNotes();
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
collapseAllColumnGroups()
收合工作表中的所有欄群組。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; // All column groups on the sheet are collapsed. sheet.collapseAllColumnGroups();
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
collapseAllRowGroups()
收合工作表中的所有列群組。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; // All row groups on the sheet are collapsed. sheet.collapseAllRowGroups();
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
copyTo(spreadsheet)
將工作表複製到指定的試算表,該試算表可以是來源試算表。複製的工作表會命名為「[原始名稱] 的副本」。
const source = SpreadsheetApp.getActiveSpreadsheet(); const sheet = source.getSheets()[0]; const destination = SpreadsheetApp.openById('ID_GOES HERE'); sheet.copyTo(destination);
參數
名稱 | 類型 | 說明 |
---|---|---|
spreadsheet | Spreadsheet | 要複製這份工作表的試算表,可以是與來源相同的試算表。 |
回攻員
Sheet
:用於鏈結的新工作表。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
createDeveloperMetadataFinder()
傳回 DeveloperMetadataFinder
,用於在這個工作表的範圍內尋找開發人員中繼資料。如果中繼資料與工作表本身相關聯,或與該工作表上的列、欄或範圍相關聯,則該中繼資料就屬於該工作表的範圍。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Adds developer metadata for testing. sheet.addDeveloperMetadata('CITY', 'PARIS'); // Creates the developer metadata finder. const metadatafinder = sheet.createDeveloperMetadataFinder(); // Finds the metadata with value 'PARIS' and displays its key in the console. console.log(metadatafinder.withValue('PARIS').find()[0].getKey());
回攻員
DeveloperMetadataFinder
:開發人員中繼資料搜尋工具,可搜尋這個工作表範圍內的中繼資料。
createTextFinder(findText)
為工作表建立文字搜尋器,可在工作表中尋找及取代文字。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; // Creates a text finder. const textFinder = sheet.createTextFinder('dog'); // Returns the first occurrence of 'dog' in the sheet. const firstOccurrence = textFinder.findNext(); // Replaces the last found occurrence of 'dog' with 'cat' and returns the number // of occurrences replaced. const numOccurrencesReplaced = firstOccurrence.replaceWith('cat');
參數
名稱 | 類型 | 說明 |
---|---|---|
findText | String | 要搜尋的文字。 |
回攻員
TextFinder
:工作表的 TextFinder
。
deleteColumn(columnPosition)
刪除指定欄位置的資料欄。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Columns start at "1" - this deletes the first column sheet.deleteColumn(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
columnPosition | Integer | 資料欄的位置,從第一個資料欄開始,編號為 1。 |
回攻員
Sheet
:工作表,可用於方法鏈結
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
deleteColumns(columnPosition, howMany)
從指定的欄位開始刪除多個欄。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Columns start at "1" - this deletes the first two columns sheet.deleteColumns(1, 2);
參數
名稱 | 類型 | 說明 |
---|---|---|
columnPosition | Integer | 要刪除的第一個資料欄的位置。 |
howMany | Integer | 要刪除的欄數。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
deleteRow(rowPosition)
刪除指定資料列位置的資料列。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Rows start at "1" - this deletes the first row sheet.deleteRow(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
rowPosition | Integer | 資料列的位置,從第一列開始編號,編號為 1。 |
回攻員
Sheet
:工作表,可用於方法鏈結
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
deleteRows(rowPosition, howMany)
從指定的資料列位置開始,刪除多個資料列。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Rows start at "1" - this deletes the first two rows sheet.deleteRows(1, 2);
參數
名稱 | 類型 | 說明 |
---|---|---|
rowPosition | Integer | 要刪除的第一個資料列的位置。 |
howMany | Integer | 要刪除的資料列數量。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
expandAllColumnGroups()
展開工作表中的所有欄群組。這個方法至少需要一個欄組。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; // All column groups on the sheet are expanded. sheet.expandAllColumnGroups();
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
expandAllRowGroups()
展開工作表中的所有列群組。這個方法至少需要一個資料列群組。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; // All row groups on the sheet are expanded. sheet.expandAllRowGroups();
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
expandColumnGroupsUpToDepth(groupDepth)
展開指定深度的所有欄群組,並收合其他所有欄群組。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; // All column groups of depth 2 and lower are expanded, and groups with depth // 3 and higher are collapsed. sheet.expandColumnGroupsUpToDepth(2);
參數
名稱 | 類型 | 說明 |
---|---|---|
groupDepth | Integer | 要展開欄群組的群組深度上限。 |
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
expandRowGroupsUpToDepth(groupDepth)
展開所有列群組至指定深度,並折疊所有其他列群組。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; // All row groups of depth 2 and lower are expanded, and groups with depth // 3 and higher are collapsed. sheet.expandRowGroupsUpToDepth(2);
參數
名稱 | 類型 | 說明 |
---|---|---|
groupDepth | Integer | 要展開列群組的群組深度上限。 |
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getActiveCell()
傳回此工作表中的目前儲存格。
注意:建議使用 getCurrentCell()
,這個函式會傳回目前醒目顯示的儲存格。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Returns the active cell const cell = sheet.getActiveCell();
回攻員
Range
:目前的活動儲存格
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getActiveRange()
傳回有效工作表中的選取範圍,如果沒有有效範圍,則傳回 null
。如果選取多個範圍,這個方法只會傳回最後一個所選範圍。
「有效範圍」一詞是指使用者在有效工作表中選取的範圍,但在自訂函式中,則是指正在重新計算的儲存格。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const activeRange = sheet.getActiveRange();
回攻員
Range
:有效範圍
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
另請參閱
getActiveRangeList()
傳回有效工作表中有效範圍的清單,如果沒有有效範圍,則傳回 null
。
如果選取單一範圍,這會以 getActiveRange()
呼叫的形式運作。
const sheet = SpreadsheetApp.getActiveSheet(); // Returns the list of active ranges. const activeRangeList = sheet.getActiveRangeList();
回攻員
RangeList
:有效範圍清單
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
另請參閱
getBandings()
傳回這個工作表中的所有分帶。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Gets the banding info for the sheet. const bandings = sheet.getBandings(); // Gets info on the bandings' second row color and logs it to the console. for (const banding of bandings) { console.log(banding.getSecondRowColor()); }
回攻員
Banding[]
:這個工作表中的所有分組。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getCharts()
傳回這個工作表上的圖表陣列。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const charts = sheet.getCharts(); for (const i in charts) { const chart = charts[i]; // Do something with the chart }
回攻員
EmbeddedChart[]
:圖表陣列。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getColumnGroup(columnIndex, groupDepth)
傳回指定索引和群組深度的欄群組。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; // Returns the group whose control index is at column 2 and has a depth of 1, or // null if the group doesn’t exist. const columnGroup = sheet.getColumnGroup(2, 1);
參數
名稱 | 類型 | 說明 |
---|---|---|
columnIndex | Integer | 群組控制切換鈕的資料欄索引,或群組內的索引。 |
groupDepth | Integer | 群組的深度。 |
回攻員
Group
:控制索引和深度的欄群組,如果群組不存在,則會擲回例外狀況。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getColumnGroupControlPosition()
傳回工作表上所有欄群組的 GroupControlTogglePosition
。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; // GroupControlTogglePosition.AFTER if the column grouping control toggle is // shown after the group. const columnGroupControlPosition = sheet.getColumnGroupControlPosition();
回攻員
GroupControlTogglePosition
:如果這個工作表上的群組後方顯示欄群組控制項切換鈕,則為 true
;否則為 false
。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getColumnGroupDepth(columnIndex)
傳回指定索引的資料欄群組深度。
群組深度代表與資料欄重疊的群組數量。這個值的範圍為零到八。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; // 1 if there is a group over columns 1 through 3 const groupDepth = sheet.getColumnGroupDepth(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
columnIndex | Integer | 資料欄的索引。 |
回攻員
Integer
:指定索引的欄群組深度。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getColumnWidth(columnPosition)
取得指定欄的寬度 (以像素為單位)。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Columns start at 1 Logger.log(sheet.getColumnWidth(1));
參數
名稱 | 類型 | 說明 |
---|---|---|
columnPosition | Integer | 要檢查的資料欄位置。 |
回攻員
Integer
:欄寬度 (以像素為單位)
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getConditionalFormatRules()
取得這個試算表中的所有條件式格式規則。
// Logs the conditional format rules in a sheet. const rules = SpreadsheetApp.getActiveSheet().getConditionalFormatRules(); for (let i = 0; i < rules.length; i++) { const rule = rules[i]; Logger.log(rule); }
回攻員
ConditionalFormatRule[]
:工作表中所有規則的陣列。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getCurrentCell()
傳回目前工作表中的目前儲存格,如果沒有目前儲存格,則傳回 null
。目前儲存格是 Google 試算表 UI 中聚焦的儲存格,並以深色邊框醒目顯示。目前的儲存格永遠不會超過一個。當使用者選取一或多個儲存格範圍時,選取範圍中的其中一個儲存格即為目前儲存格。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // Returns the current highlighted cell in the one of the active ranges. const currentCell = sheet.getCurrentCell();
回攻員
Range
:目前的儲存格
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getDataRange()
傳回與資料所在維度相對應的 Range
。
這在功能上等同於建立以 A1 和 (Sheet.getLastColumn(), Sheet.getLastRow()) 為界線的 Range。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This represents ALL the data const range = sheet.getDataRange(); const values = range.getValues(); // This logs the spreadsheet in CSV format with a trailing comma for (let i = 0; i < values.length; i++) { let row = ''; for (let j = 0; j < values[i].length; j++) { if (values[i][j]) { row = row + values[i][j]; } row = `${row},`; } Logger.log(row); }
回攻員
Range
:包含試算表中所有資料的範圍
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getDataSourceFormulas()
取得所有資料來源公式。
// Opens the spreadsheet by its ID. If you created your script from within a // Google Sheets file, use SpreadsheetApp.getActiveSpreadsheet(). // TODO(developer): Replace the ID with your own. const ss = SpreadsheetApp.openById('abc123456'); // Gets Sheet1 by its name. const sheet = ss.getSheetByName('Sheet1'); // Gets an array of the data source formulas on Sheet1. // To get an array of data source formulas for the entire spreadsheet, // replace 'sheet' with 'ss'. const dataSourceFormulas = sheet.getDataSourceFormulas(); // Logs the first data source formula in the array. console.log(dataSourceFormulas[0].getFormula());
回攻員
DataSourceFormula[]
:資料來源公式清單。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getDataSourcePivotTables()
取得所有資料來源資料透視表。
// Opens the spreadsheet file by its ID. If you created your script from a // Google Sheets file, use SpreadsheetApp.getActiveSpreadsheet(). // TODO(developer): Replace the ID with your own. const ss = SpreadsheetApp.openById('abc123456'); // Gets Sheet1 by its name. const sheet = ss.getSheetByName('Sheet1'); // Gets an array of the data source pivot tables on Sheet1. // To get an array of data source pivot tables for the entire // spreadsheet, replace 'sheet' with 'ss'. const dataSourcePivotTables = sheet.getDataSourcePivotTables(); // Logs the last time that the first pivot table in the array was refreshed. console.log(dataSourcePivotTables[0].getStatus().getLastRefreshedTime());
回攻員
DataSourcePivotTable[]
:資料來源資料透視表清單。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getDataSourceTables()
取得所有資料來源資料表。
// Opens the spreadsheet file by its ID. If you created your script from a // Google Sheets file, use SpreadsheetApp.getActiveSpreadsheet(). // TODO(developer): Replace the ID with your own. const ss = SpreadsheetApp.openById('abc123456'); // Gets Sheet1 by its name. const sheet = ss.getSheetByName('Sheet1'); // Gets an array of data source tables on Sheet1. // To get an array of data source tables for the entire spreadsheet, // replace 'sheet' with 'ss'. const dataSourceTables = sheet.getDataSourceTables(); // Logs the last completed data execution time on the first data source table. console.log(dataSourceTables[0].getStatus().getLastExecutionTime());
回攻員
DataSourceTable[]
:資料來源表清單。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getDeveloperMetadata()
取得與此工作表相關的所有開發人員中繼資料。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Adds developer metadata for testing. sheet.addDeveloperMetadata('CITY', 'PARIS'); // Gets all the developer metadata for the sheet. const developerMetaDataList = sheet.getDeveloperMetadata(); // Logs the developer metadata to the console. for (const developerMetaData of developerMetaDataList) { console.log(developerMetaData.getKey()); }
回攻員
DeveloperMetadata[]
:與此工作表相關聯的開發人員中繼資料。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getDrawings()
傳回工作表上的圖形陣列。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Gets all the drawings from the sheet. const allDrawings = sheet.getDrawings(); // Logs the number of drawings present on the sheet. console.log(allDrawings.length);
回攻員
Drawing[]
:這個試算表中的圖表清單。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getFilter()
getFormUrl()
傳回表單的網址,該表單會將回覆傳送至此工作表;如果此工作表沒有關聯表單,則傳回 null
。如果使用者沒有編輯試算表的權限,就會擲回例外狀況。
const sheet = SpreadsheetApp.getActiveSheet(); const url = sheet.getFormUrl();
回攻員
String
:表單的網址,可將回覆放入這個工作表;如果這個工作表沒有相關聯的表單,則為 null
。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getFrozenColumns()
傳回已凍結欄的數量。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; Logger.log('Number of frozen columns: %s', sheet.getFrozenColumns());
回攻員
Integer
:凍結的欄數
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getFrozenRows()
傳回已凍結的資料列數。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; Logger.log('Number of frozen rows: %s', sheet.getFrozenRows());
回攻員
Integer
:凍結列數
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getImages()
傳回工作表上所有格線外的圖片。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets spreadsheet, you can use // SpreadsheetApp.getActiveSpreadsheet() instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets Sheet1 by its name. const sheet = ss.getSheetByName('Sheet1'); // Gets the over-the-grid images from Sheet1. // To get the over-the-grid images from the entire spreadsheet, use // ss.getImages() instead. const images = sheet.getImages(); // For each image, logs the anchor cell in A1 notation. for (const image of images) { console.log(image.getAnchorCell().getA1Notation()); }
回攻員
OverGridImage[]
:格線上方圖片的陣列。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getIndex()
取得工作表在其父項試算表中的位置。從 1 開始。
const ss = SpreadsheetApp.getActiveSpreadsheet(); // Note that the JavaScript index is 0, but this logs 1 const sheet = ss.getSheets()[0]; // ... because spreadsheets are 1-indexed Logger.log(sheet.getIndex());
回攻員
Integer
:工作表在父項試算表中的位置。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getLastColumn()
傳回最後一個含有內容的資料欄位置。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This logs the value in the very last cell of this sheet const lastRow = sheet.getLastRow(); const lastColumn = sheet.getLastColumn(); const lastCell = sheet.getRange(lastRow, lastColumn); Logger.log(lastCell.getValue());
回攻員
Integer
:試算表中含有內容的最後一欄
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getLastRow()
傳回最後一列的內容位置。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This logs the value in the very last cell of this sheet const lastRow = sheet.getLastRow(); const lastColumn = sheet.getLastColumn(); const lastCell = sheet.getRange(lastRow, lastColumn); Logger.log(lastCell.getValue());
回攻員
Integer
:含有內容的試算表最後一列
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getMaxColumns()
傳回工作表中目前的欄數,不論內容為何。
// This example assumes there is a sheet named "first" const ss = SpreadsheetApp.getActiveSpreadsheet(); const first = ss.getSheetByName('first'); Logger.log(first.getMaxColumns());
回攻員
Integer
:試算表的寬度上限。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getMaxRows()
傳回工作表中目前的列數,不論內容為何。
// This example assumes there is a sheet named "first" const ss = SpreadsheetApp.getActiveSpreadsheet(); const first = ss.getSheetByName('first'); Logger.log(first.getMaxRows());
回攻員
Integer
:試算表的高度上限。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getName()
傳回工作表名稱。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; Logger.log(sheet.getName());
回攻員
String
:工作表名稱。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getNamedRanges()
取得此工作表中的所有命名範圍。
// The code below logs the name of the first named range. const namedRanges = SpreadsheetApp.getActiveSheet().getNamedRanges(); if (namedRanges.length > 1) { Logger.log(namedRanges[0].getName()); }
回攻員
NamedRange[]
:工作表中所有已命名範圍的陣列。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getParent()
傳回包含此試算表的 Spreadsheet
。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // parent is identical to ss const parent = sheet.getParent();
回攻員
Spreadsheet
:父項試算表。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getPivotTables()
傳回此工作表上的所有資料透視表。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Gets all the pivot table info for the sheet. const pivotTables = sheet.getPivotTables(); // Logs the pivot tables to the console. for (const pivotTable of pivotTables) { console.log(pivotTable.getSourceDataRange().getValues()); }
回攻員
PivotTable[]
:這份工作表上的資料透視表。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getProtections(type)
取得代表工作表中所有受保護範圍的物件陣列,或是代表工作表本身保護狀態的單一元素陣列。
// Remove all range protections in the spreadsheet that the user has permission // to edit. const sheet = SpreadsheetApp.getActiveSheet(); const protections = sheet.getProtections(SpreadsheetApp.ProtectionType.RANGE); for (let i = 0; i < protections.length; i++) { const protection = protections[i]; if (protection.canEdit()) { protection.remove(); } }
// Remove sheet protection from the active sheet, if the user has permission to // edit it. const sheet = SpreadsheetApp.getActiveSheet(); const protection = sheet.getProtections(SpreadsheetApp.ProtectionType.SHEET)[0]; if (protection?.canEdit()) { protection.remove(); }
參數
名稱 | 類型 | 說明 |
---|---|---|
type | ProtectionType | 受保護區的類型,可能是 SpreadsheetApp.ProtectionType.RANGE 或 SpreadsheetApp.ProtectionType.SHEET 。 |
回攻員
Protection[]
:物件陣列,代表工作表中的所有受保護範圍,或單一元素陣列,代表工作表本身的保護措施。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRange(row, column)
傳回指定座標左上角儲存格的範圍。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Passing only two arguments returns a "range" with a single cell. const range = sheet.getRange(1, 1); const values = range.getValues(); Logger.log(values[0][0]);
參數
名稱 | 類型 | 說明 |
---|---|---|
row | Integer | 要傳回的儲存格列索引,列索引從 1 開始。 |
column | Integer | 要傳回的儲存格欄索引,欄索引從 1 開始。 |
回攻員
Range
:只包含這個儲存格的範圍。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRange(row, column, numRows)
傳回範圍,其中左上角儲存格位於指定座標,且有指定的列數。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // When the "numRows" argument is used, only a single column of data is // returned. const range = sheet.getRange(1, 1, 3); const values = range.getValues(); // Prints 3 values from the first column, starting from row 1. for (const row in values) { for (const col in values[row]) { Logger.log(values[row][col]); } }
參數
名稱 | 類型 | 說明 |
---|---|---|
row | Integer | 範圍的起始列索引;列索引從 1 開始。 |
column | Integer | 範圍的欄索引,欄索引從 1 開始。 |
numRows | Integer | 代表要傳回的列數。 |
回攻員
Range
:範圍包含單一資料欄,並指定資料列數量。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRange(row, column, numRows, numColumns)
傳回範圍,其中左上角儲存格位於指定座標,並具有指定的列數和欄數。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const range = sheet.getRange(1, 1, 3, 3); const values = range.getValues(); // Print values from a 3x3 box. for (const row in values) { for (const col in values[row]) { Logger.log(values[row][col]); } }
參數
名稱 | 類型 | 說明 |
---|---|---|
row | Integer | 範圍的起始列索引;列索引從 1 開始。 |
column | Integer | 範圍的起始欄索引;欄索引從 1 開始。 |
numRows | Integer | 代表要傳回的列數。 |
numColumns | Integer | 代表要傳回的欄數。 |
回攻員
Range
:與指定區域相對應的範圍。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRange(a1Notation)
傳回 A1 或 R1C1 符號指定的範圍。
// Get a range A1:D4 on sheet titled "Invoices" const ss = SpreadsheetApp.getActiveSpreadsheet(); const range = ss.getRange('Invoices!A1:D4'); // Get cell A1 on the first sheet const sheet = ss.getSheets()[0]; const cell = sheet.getRange('A1');
參數
名稱 | 類型 | 說明 |
---|---|---|
a1Notation | String | 要傳回的範圍,如 A1 標記法或 R1C1 標記法所指定。 |
回攻員
Range
:指定位置的範圍
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRangeList(a1Notations)
傳回 RangeList
集合,代表由非空白的 A1 符號或 R1C1 符號指定的同一工作表中的範圍。
// Get a list of ranges A1:D4, F1:H4. const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const rangeList = sheet.getRangeList(['A1:D4', 'F1:H4']);
參數
名稱 | 類型 | 說明 |
---|---|---|
a1Notations | String[] | 要傳回的範圍清單,如 A1 或 R1C1 符號所指定。 |
回攻員
RangeList
:指定位置的範圍清單
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRowGroup(rowIndex, groupDepth)
傳回指定索引和群組深度的列群組。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; // Returns the group whose control index is at row 2 and has a depth of 1, or // null if the group doesn’t exist. const rowGroup = sheet.getRowGroup(2, 1);
參數
名稱 | 類型 | 說明 |
---|---|---|
rowIndex | Integer | 群組控制切換按鈕的列索引,或群組內的索引。 |
groupDepth | Integer | 群組的深度。 |
回攻員
Group
:控制索引和深度的列群組,如果群組不存在,則會擲回例外狀況。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRowGroupControlPosition()
傳回工作表中所有列群組的 GroupControlTogglePosition
。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; // GroupControlTogglePosition.AFTER if the row grouping control toggle is shown // after the group. const rowGroupControlPosition = sheet.getRowGroupControlPosition();
回攻員
GroupControlTogglePosition
:如果在這個工作表上顯示的列群組控制切換鈕位於群組後方,則為 true
;否則為 false
。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRowGroupDepth(rowIndex)
傳回指定索引的資料列群組深度。
群組深度代表與資料列重疊的群組數量。這個值的範圍為 0 到 8。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; // 1 if there is a group over rows 1 through 3 const groupDepth = sheet.getRowGroupDepth(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
rowIndex | Integer | 資料列的索引。 |
回攻員
Integer
:指定索引的列群組深度。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRowHeight(rowPosition)
取得指定資料列的高度 (以像素為單位)。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Rows start at 1 Logger.log(sheet.getRowHeight(1));
參數
名稱 | 類型 | 說明 |
---|---|---|
rowPosition | Integer | 要檢查的資料列位置。 |
回攻員
Integer
:列高度 (以像素為單位)
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getSelection()
getSheetId()
傳回此物件所代表的工作表 ID。
這是試算表的專屬試算表 ID。ID 是指在建立工作表時指派的單調遞增整數,與工作表位置無關。這在搭配 Range.copyFormatToRange(gridId, column, columnEnd, row, rowEnd)
等方法時非常實用,因為這些方法會採用 gridId
參數,而非 Sheet
例項。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; Logger.log(sheet.getSheetId());
回攻員
Integer
:試算表專屬的試算表 ID
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getSheetName()
傳回工作表名稱。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; Logger.log(sheet.getSheetName());
回攻員
String
- 工作表名稱
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getSheetValues(startRow, startColumn, numRows, numColumns)
傳回這個範圍的矩形格狀值,起始點為指定座標。以資料列或資料欄位置指定 -1 值,等同於取得工作表中含有資料的最後一列或最後一欄。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // The two samples below produce the same output let values = sheet.getSheetValues(1, 1, 3, 3); Logger.log(values); const range = sheet.getRange(1, 1, 3, 3); values = range.getValues(); Logger.log(values);
參數
名稱 | 類型 | 說明 |
---|---|---|
startRow | Integer | 起始資料列的位置。 |
startColumn | Integer | 起始資料欄的位置。 |
numRows | Integer | 代表要傳回值的列數。 |
numColumns | Integer | 代表要傳回值的欄數。 |
回攻員
Object[][]
:值的二維陣列
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getSlicers()
傳回工作表上的切片器陣列。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Gets all slicers in the spreadsheet. const slicers = sheet.getSlicers(); // Logs the slicer titles to the console. for (const slicer of slicers) { console.log(slicer.getTitle()); }
回攻員
Slicer[]
:這個試算表中的切片器清單。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getTabColorObject()
取得工作表分頁的顏色,如果工作表分頁沒有顏色,則會取得 null
。
// This example assumes there is a sheet named "Sheet1" const ss = SpreadsheetApp.getActiveSpreadsheet(); const first = ss.getSheetByName('Sheet1'); const color = first.getTabColorObject();
回攻員
Color
:工作表分頁的顏色,如果工作表分頁沒有顏色,則為 null
。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getType()
傳回工作表的類型。
工作表的預設類型為 SheetType.GRID
。包含單一嵌入物件 (例如 EmbeddedChart
) 的工作表為 SheetType.OBJECT
工作表。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; Logger.log(sheet.getType());
回攻員
SheetType
:工作表類型。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
hasHiddenGridlines()
如果工作表的格線處於隱藏狀態,就會傳回 true
;否則會傳回 false
。預設會顯示格線。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Checks if the spreadsheet has hidden gridelines and logs the result to the // console. console.log(sheet.hasHiddenGridlines());
回攻員
Boolean
:如果格線已隱藏,則為 true
;否則為 false
。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
hideColumn(column)
隱藏指定範圍內的資料欄。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This hides the first column let range = sheet.getRange('A1'); sheet.hideColumn(range); // This hides the first 3 columns range = sheet.getRange('A:C'); sheet.hideColumn(range);
參數
名稱 | 類型 | 說明 |
---|---|---|
column | Range | 要隱藏的資料欄範圍。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
hideColumns(columnIndex)
隱藏指定索引的單一資料欄。請為此方法使用 1 索引。
如要使用索引隱藏多個資料欄,請使用 hideColumns(columnIndex, numColumns)
。
如要使用範圍隱藏多個資料欄,請使用 hideColumn()
。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Hides the first column sheet.hideColumns(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
columnIndex | Integer | 要隱藏的資料欄索引。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
hideColumns(columnIndex, numColumns)
隱藏從指定索引開始的一或多個連續資料欄。請為此方法使用 1 索引。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Hides the first three columns sheet.hideColumns(1, 3);
參數
名稱 | 類型 | 說明 |
---|---|---|
columnIndex | Integer | 要隱藏的資料欄起始索引。 |
numColumns | Integer | 要隱藏的欄數。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
hideRow(row)
隱藏指定範圍內的資料列。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This hides the first row const range = sheet.getRange('A1'); sheet.hideRow(range);
參數
名稱 | 類型 | 說明 |
---|---|---|
row | Range | 要隱藏的資料列範圍。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
hideRows(rowIndex)
隱藏指定索引的資料列。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Hides the first row sheet.hideRows(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
rowIndex | Integer | 要隱藏的資料列索引。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
hideRows(rowIndex, numRows)
隱藏從指定索引開始的一或多個連續資料列。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Hides the first three rows sheet.hideRows(1, 3);
參數
名稱 | 類型 | 說明 |
---|---|---|
rowIndex | Integer | 要隱藏的資料列起始索引。 |
numRows | Integer | 要隱藏的資料列數量。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
hideSheet()
insertChart(chart)
在這個工作表中新增圖表。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This creates a simple bar chart from the first three rows // of the first two columns of the spreadsheet const chart = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(sheet.getRange('A1:B4')) .setPosition(5, 5, 0, 0) .setOption('title', 'Dynamic Chart') .build(); sheet.insertChart(chart);
參數
名稱 | 類型 | 說明 |
---|---|---|
chart | EmbeddedChart | 要插入的圖表。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertColumnAfter(afterPosition)
在指定的資料欄位置後方插入資料欄。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This inserts a column after the first column position sheet.insertColumnAfter(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
afterPosition | Integer | 新資料欄應插入的資料欄。 |
回攻員
Sheet
:工作表,可用於方法鏈結
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertColumnBefore(beforePosition)
在指定的資料欄位置前插入資料欄。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This inserts a column in the first column position sheet.insertColumnBefore(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
beforePosition | Integer | 要新增資料欄之前的資料欄。 |
回攻員
Sheet
:工作表,可用於方法鏈結
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertColumns(columnIndex)
在工作表中指定位置插入空白資料欄。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Shifts all columns by one sheet.insertColumns(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
columnIndex | Integer | 索引,指出要插入資料欄的位置。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertColumns(columnIndex, numColumns)
在工作表中從指定位置開始,插入一或多個連續的空白資料欄。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Shifts all columns by three sheet.insertColumns(1, 3);
參數
名稱 | 類型 | 說明 |
---|---|---|
columnIndex | Integer | 索引,指出要插入資料欄的位置。 |
numColumns | Integer | 要插入的資料欄數。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertColumnsAfter(afterPosition, howMany)
在指定的資料欄位置後方插入指定數量的資料欄。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Inserts two columns after the first column on the first sheet of the // spreadsheet. sheet.insertColumnsAfter(1, 2);
參數
名稱 | 類型 | 說明 |
---|---|---|
afterPosition | Integer | 新資料欄應插入的資料欄。 |
howMany | Integer | 要插入的資料欄數。 |
回攻員
Sheet
:工作表,可用於方法鏈結
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertColumnsBefore(beforePosition, howMany)
在指定的資料欄位置前插入多個資料欄。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This inserts five columns before the first column sheet.insertColumnsBefore(1, 5);
參數
名稱 | 類型 | 說明 |
---|---|---|
beforePosition | Integer | 要新增資料欄之前的資料欄。 |
howMany | Integer | 要插入的資料欄數。 |
回攻員
Sheet
:工作表,可用於方法鏈結
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertImage(blobSource, column, row)
在文件中插入 BlobSource
做為圖片,並置於指定的列和欄。系統會從 Blob 內容擷取圖片大小。支援的 blob 大小上限為 2 MB。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const binaryData = []; // TODO(developer): Replace with your binary data. const blob = Utilities.newBlob(binaryData, 'image/png', 'MyImageName'); sheet.insertImage(blob, 1, 1);
參數
名稱 | 類型 | 說明 |
---|---|---|
blobSource | BlobSource | 包含圖片內容、MIME 類型和 (選用) 名稱的 Blob。 |
column | Integer | 資料欄位置。 |
row | Integer | 資料列位置。 |
回攻員
OverGridImage
:已插入的圖片。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertImage(blobSource, column, row, offsetX, offsetY)
在指定的資料列和資料欄中,以圖片形式插入 BlobSource
,並加上像素偏移。系統會從 Blob 內容擷取圖片大小。支援的 blob 大小上限為 2 MB。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const binaryData = []; // TODO(developer): Replace with your binary data. const blob = Utilities.newBlob(binaryData, 'image/png', 'MyImageName'); sheet.insertImage(blob, 1, 1, 10, 10);
參數
名稱 | 類型 | 說明 |
---|---|---|
blobSource | BlobSource | 包含圖片內容、MIME 類型和 (選用) 名稱的 Blob。 |
column | Integer | 資料欄位置。 |
row | Integer | 資料列位置。 |
offsetX | Integer | 以像素為單位的單元格角落水平偏移。 |
offsetY | Integer | 以像素為單位的單元格角落垂直偏移。 |
回攻員
OverGridImage
:已插入的圖片。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertImage(url, column, row)
在文件中插入圖片,位置為指定的列和欄。
提供的網址必須可供所有人存取。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; sheet.insertImage('https://www.google.com/images/srpr/logo3w.png', 1, 1);
參數
名稱 | 類型 | 說明 |
---|---|---|
url | String | 圖片的網址。 |
column | Integer | 格線欄位。 |
row | Integer | 格線資料列位置。 |
回攻員
OverGridImage
:已插入的圖片。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertImage(url, column, row, offsetX, offsetY)
在文件中插入圖片,並指定圖片的列和欄位置,以及像素偏移量。
提供的網址必須可供所有人存取。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; sheet.insertImage( 'https://www.google.com/images/srpr/logo3w.png', 1, 1, 10, 10, );
參數
名稱 | 類型 | 說明 |
---|---|---|
url | String | 圖片的網址。 |
column | Integer | 資料欄位置。 |
row | Integer | 資料列位置。 |
offsetX | Integer | 以像素為單位的單元格角落水平偏移。 |
offsetY | Integer | 以像素為單位的單元格角落垂直偏移。 |
回攻員
OverGridImage
:已插入的圖片。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertRowAfter(afterPosition)
在指定的資料列位置後方插入資料列。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This inserts a row after the first row position sheet.insertRowAfter(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
afterPosition | Integer | 新列要新增的位置。 |
回攻員
Sheet
:工作表,可用於方法鏈結
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertRowBefore(beforePosition)
在指定的資料列位置前插入資料列。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This inserts a row before the first row position sheet.insertRowBefore(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
beforePosition | Integer | 新列要新增的位置。 |
回攻員
Sheet
:工作表,可用於方法鏈結
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertRows(rowIndex)
在工作表中指定位置插入空白資料列。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Shifts all rows down by one sheet.insertRows(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
rowIndex | Integer | 索引,指出要插入資料列的位置。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertRows(rowIndex, numRows)
在工作表中插入一或多個連續空白資料列,從指定位置開始。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Shifts all rows down by three sheet.insertRows(1, 3);
參數
名稱 | 類型 | 說明 |
---|---|---|
rowIndex | Integer | 索引,指出要插入資料列的位置。 |
numRows | Integer | 要插入的資料列數量。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertRowsAfter(afterPosition, howMany)
在指定的資料列位置後插入多個資料列。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This inserts five rows after the first row sheet.insertRowsAfter(1, 5);
參數
名稱 | 類型 | 說明 |
---|---|---|
afterPosition | Integer | 新列應新增的位置。 |
howMany | Integer | 要插入的資料列數量。 |
回攻員
Sheet
:工作表,可用於方法鏈結
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertRowsBefore(beforePosition, howMany)
在指定的資料列位置前插入多個資料列。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This inserts five rows before the first row sheet.insertRowsBefore(1, 5);
參數
名稱 | 類型 | 說明 |
---|---|---|
beforePosition | Integer | 新資料列應插入的資料列。 |
howMany | Integer | 要插入的資料列數量。 |
回攻員
Sheet
:工作表,可用於方法鏈結
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertSlicer(range, anchorRowPos, anchorColPos)
在這個工作表中新增切片器。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Gets the range of the sheet. const range = sheet.getRange('A1:D10'); // Inserts the slicer with a random range into the sheet. const insertSlicers = sheet.insertSlicer(range.randomize(), 1, 10); // Logs the insert slicer result to the console. console.log(insertSlicers);
參數
名稱 | 類型 | 說明 |
---|---|---|
range | Range | 建立切片器時的範圍。 |
anchorRowPos | Integer | 切片器的頂端會固定在這個列中。 |
anchorColPos | Integer | 切片器的頂端會固定在這個欄中。 |
回攻員
Slicer
:新插入的切片器。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
insertSlicer(range, anchorRowPos, anchorColPos, offsetX, offsetY)
在這個工作表中新增切片器。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Gets the range. const range = sheet.getRange('A1:D10'); // Inserts a slicer using the random range function. const insertSlicers = sheet.insertSlicer(range.randomize(), 1, 10, 0, 0); // Logs the insert slicer result to the console. console.log(insertSlicers);
參數
名稱 | 類型 | 說明 |
---|---|---|
range | Range | 建立切片器時的範圍。 |
anchorRowPos | Integer | 切片器的頂端會固定在這個列中。 |
anchorColPos | Integer | 切片器的頂端會固定在這個欄中。 |
offsetX | Integer | 以像素為單位的單元格角落水平偏移。 |
offsetY | Integer | 以像素為單位的單元格角落垂直偏移。 |
回攻員
Slicer
:新插入的切片器。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
isColumnHiddenByUser(columnPosition)
傳回使用者是否隱藏指定的資料欄。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Columns start at 1 Logger.log(sheet.isColumnHiddenByUser(1));
參數
名稱 | 類型 | 說明 |
---|---|---|
columnPosition | Integer | 要檢查的資料欄位置。 |
回攻員
Boolean
:如果資料欄已隱藏,則為 true
;否則為 false
。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
isRightToLeft()
如果這個工作表版面配置是從右至左,則會傳回 true
。如果工作表使用預設的由左至右版面配置,就會傳回 false
。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Checks if a spreadsheet is ordered from right to left and logs the result to // the console. console.log(sheet.isRightToLeft());
回攻員
Boolean
:如果是從右到左,則為 true
;否則為 false
。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
isRowHiddenByFilter(rowPosition)
傳回指定資料列是否遭到篩選器 (而非篩選器檢視畫面) 隱藏。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Rows start at 1 Logger.log(sheet.isRowHiddenByFilter(1));
參數
名稱 | 類型 | 說明 |
---|---|---|
rowPosition | Integer | 要檢查的資料列位置。 |
回攻員
Boolean
:如果是隱藏的資料列,則為 true
;否則為 false
。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
isRowHiddenByUser(rowPosition)
傳回使用者是否隱藏指定資料列。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Rows start at 1 Logger.log(sheet.isRowHiddenByUser(1));
參數
名稱 | 類型 | 說明 |
---|---|---|
rowPosition | Integer | 要檢查的資料列位置。 |
回攻員
Boolean
:如果是隱藏的資料列,則為 true
;否則為 false
。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
isSheetHidden()
如果工作表目前處於隱藏狀態,則會傳回 true
。
const sheet = SpreadsheetApp.getActiveSheet(); if (sheet.isSheetHidden()) { // do something... }
回攻員
Boolean
:如果工作表處於隱藏狀態,則為 true
;否則為 false
。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
moveColumns(columnSpec, destinationIndex)
將指定範圍所選取的資料欄移至 destinationIndex
所指示的位置。columnSpec
本身不必確切代表要移動的整個資料欄或一組資料欄,而是會選取範圍涵蓋的所有資料欄。
// The code below moves rows A-B to destination index 5. // This results in those columns becoming columns C-D. const sheet = SpreadsheetApp.getActiveSheet(); // Selects column A and column B to be moved. const columnSpec = sheet.getRange('A1:B1'); sheet.moveColumns(columnSpec, 5);
參數
名稱 | 類型 | 說明 |
---|---|---|
columnSpec | Range | 要移動的資料欄範圍。 |
destinationIndex | Integer | 資料欄應移至的索引。請注意,這個索引是根據移前座標建立。現有資料會向右移動,為移動的資料欄騰出空間,同時從格線中移除來源資料欄。因此,資料可能會出現在與原先指定的索引不同的位置。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
moveRows(rowSpec, destinationIndex)
將指定範圍所選取的資料列移至 destinationIndex
所指示的位置。rowSpec
本身不必確切代表要移動的整個資料列或一組資料列,而是會選取範圍涵蓋的所有資料列。
// The code below moves rows 1-2 to destination index 5. // This results in those rows becoming rows 3-4. const sheet = SpreadsheetApp.getActiveSheet(); // Selects row 1 and row 2 to be moved. const rowSpec = sheet.getRange('A1:A2'); sheet.moveRows(rowSpec, 5);
參數
名稱 | 類型 | 說明 |
---|---|---|
rowSpec | Range | 要移動的資料列範圍。 |
destinationIndex | Integer | 資料列應移至的索引。請注意,這個索引是根據移入資料列前的座標建立。現有資料會向下移動,為移動的資料列騰出空間,同時從格線中移除來源資料列。因此,資料可能會出現在與原先指定的索引不同的位置。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
newChart()
會傳回建構工具,用於為這個工作表建立新的圖表。
以下範例說明如何建立新圖表:
const sheet = SpreadsheetApp.getActiveSheet(); const range = sheet.getRange('A1:B8'); const chartBuilder = sheet.newChart(); chartBuilder.addRange(range) .setChartType(Charts.ChartType.LINE) .setPosition(2, 2, 0, 0) .setOption('title', 'My Line Chart!'); sheet.insertChart(chartBuilder.build());
回攻員
EmbeddedChartBuilder
:用於建立新圖表的建構工具。
protect()
建立可保護試算表的物件,只有擁有權限的使用者才能編輯試算表。在指令碼實際變更工作表編輯者清單 (透過呼叫 Protection.removeEditor(emailAddress)
、Protection.removeEditor(user)
、Protection.removeEditors(emailAddresses)
、Protection.addEditor(emailAddress)
、Protection.addEditor(user)
、Protection.addEditors(emailAddresses)
或為 Protection.setDomainEdit(editable)
設定新值) 之前,權限會與試算表本身的權限相同,也就是說,工作表仍未受保護。如果工作表已受保護,這個方法會傳回代表現有保護設定的物件。受保護的工作表可能包含未受保護的區域。
// Protect the active sheet, then remove all other users from the list of // editors. const sheet = SpreadsheetApp.getActiveSheet(); const protection = sheet.protect().setDescription('Sample protected sheet'); // Ensure the current user is an editor before removing others. Otherwise, if // the user's edit permission comes from a group, the script throws an exception // upon removing the group. const me = Session.getEffectiveUser(); protection.addEditor(me); protection.removeEditors(protection.getEditors()); if (protection.canDomainEdit()) { protection.setDomainEdit(false); }
回攻員
Protection
:代表保護設定的物件。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeChart(chart)
從上層工作表移除圖表。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This removes all the embedded charts from the spreadsheet const charts = sheet.getCharts(); for (const i in charts) { sheet.removeChart(charts[i]); }
參數
名稱 | 類型 | 說明 |
---|---|---|
chart | EmbeddedChart | 要移除的圖表。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setActiveRange(range)
將指定的範圍設為有效工作表中的 active range
,範圍內左上角的儲存格為 current cell
。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const range = sheet.getRange('A1:D4'); sheet.setActiveRange(range); const selection = sheet.getSelection(); // Current cell: A1 const currentCell = selection.getCurrentCell(); // Active Range: A1:D4 const activeRange = selection.getActiveRange();
參數
名稱 | 類型 | 說明 |
---|---|---|
range | Range | 要設為有效範圍的範圍。 |
回攻員
Range
:新啟用的範圍
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setActiveRangeList(rangeList)
將指定的範圍清單設為作用中工作表中的 active ranges
。清單中的最後一個範圍會設為 active range
。
const sheet = SpreadsheetApp.getActiveSheet(); const rangeList = sheet.getRangeList(['D4', 'B2:C4']); sheet.setActiveRangeList(rangeList); const selection = sheet.getSelection(); // Current cell: B2 const currentCell = selection.getCurrentCell(); // Active range: B2:C4 const activeRange = selection.getActiveRange(); // Active range list: [D4, B2:C4] const activeRangeList = selection.getActiveRangeList();
參數
名稱 | 類型 | 說明 |
---|---|---|
rangeList | RangeList | 要選取的範圍清單。 |
回攻員
RangeList
:新選取的區間清單
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setActiveSelection(range)
設定此工作表的有效選取區域。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const range = sheet.getRange('A1:D4'); sheet.setActiveSelection(range);
參數
名稱 | 類型 | 說明 |
---|---|---|
range | Range | 要設為有效選取範圍的範圍。 |
回攻員
Range
:新啟用的範圍
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setActiveSelection(a1Notation)
根據 A1 或 R1C1 符號指定,設定有效的選取範圍。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; sheet.setActiveSelection('A1:D4');
參數
名稱 | 類型 | 說明 |
---|---|---|
a1Notation | String | 要設為有效的範圍,請參考 A1 或 R1C1 標記法。 |
回攻員
Range
:新啟用的範圍
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setColumnGroupControlPosition(position)
設定工作表上欄群組控制切換鈕的位置。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; sheet.setColumnGroupControlPosition( SpreadsheetApp.GroupControlTogglePosition.AFTER, );
參數
名稱 | 類型 | 說明 |
---|---|---|
position | GroupControlTogglePosition | 欄群組控制項切換鈕的位置。 |
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setColumnWidth(columnPosition, width)
以像素為單位,設定指定欄的寬度。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Sets the first column to a width of 200 pixels sheet.setColumnWidth(1, 200);
參數
名稱 | 類型 | 說明 |
---|---|---|
columnPosition | Integer | 要設定的指定資料欄位置。 |
width | Integer | 要設為的寬度 (以像素為單位)。 |
回攻員
Sheet
:工作表,可用於方法鏈結
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setColumnWidths(startColumn, numColumns, width)
以像素為單位,設定指定欄的寬度。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Sets the first three columns to a width of 200 pixels sheet.setColumnWidths(1, 3, 200);
參數
名稱 | 類型 | 說明 |
---|---|---|
startColumn | Integer | 要變更的起始資料欄位置。 |
numColumns | Integer | 要變更的欄數。 |
width | Integer | 要設為的寬度 (以像素為單位)。 |
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setConditionalFormatRules(rules)
將工作表中目前所有現有的條件式格式規則,替換為輸入的規則。系統會依輸入順序評估規則。
// Remove one of the existing conditional format rules. const sheet = SpreadsheetApp.getActiveSheet(); const rules = sheet.getConditionalFormatRules(); rules.splice(1, 1); // Deletes the 2nd format rule. sheet.setConditionalFormatRules(rules);
參數
名稱 | 類型 | 說明 |
---|---|---|
rules | ConditionalFormatRule[] | 新的條件式格式規則。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setCurrentCell(cell)
將指定的儲存格設為 current cell
。
如果指定的儲存格位於已選取的範圍中,該範圍就會成為有效範圍,而儲存格則為目前的儲存格。
如果指定的儲存格不在任何所選範圍內,系統會移除所有現有選取項目,並將該儲存格設為目前的儲存格和有效範圍。
注意:指定的 Range
必須包含一個儲存格,否則會擲回例外狀況。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const cell = sheet.getRange('B5'); sheet.setCurrentCell(cell); const selection = sheet.getSelection(); // Current cell: B5 const currentCell = selection.getCurrentCell();
參數
名稱 | 類型 | 說明 |
---|---|---|
cell | Range | 要設為目前儲存格的儲存格。 |
回攻員
Range
:新設定的目前儲存格
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setFrozenColumns(columns)
凍結指定數量的欄。如果為零,則不會凍結任何資料欄。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Freezes the first column sheet.setFrozenColumns(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
columns | Integer | 要凍結的欄數。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setFrozenRows(rows)
凍結指定數量的資料列。如果為零,則不會凍結任何資料列。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Freezes the first row sheet.setFrozenRows(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
rows | Integer | 要凍結的資料列數量。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setHiddenGridlines(hideGridlines)
隱藏或顯示工作表格線。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can us eSpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Hides the gridlines in the sheet. sheet.setHiddenGridlines(true);
參數
名稱 | 類型 | 說明 |
---|---|---|
hideGridlines | Boolean | 如果為 true ,則隱藏這個工作表的格線;否則顯示格線。 |
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setName(name)
設定工作表名稱。
// This example assumes there is a sheet named "first" const ss = SpreadsheetApp.getActiveSpreadsheet(); const first = ss.getSheetByName('first'); first.setName('not first anymore');
參數
名稱 | 類型 | 說明 |
---|---|---|
name | String | 工作表的新名稱。 |
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setRightToLeft(rightToLeft)
將工作表版面配置設為由右至左或取消設定。
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Sets the sheet layout, so that the sheet is ordered from right to left. sheet.setRightToLeft(true);
參數
名稱 | 類型 | 說明 |
---|---|---|
rightToLeft | Boolean | 如果是 true ,工作表版面配置會設為從右到左,且儲存格 A1 位於右上角。如果為 false ,則工作表版面配置會設為預設的由左至右,左上方為儲存格 A1。 |
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setRowGroupControlPosition(position)
設定工作表上列群組控制切換鈕的位置。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; sheet.setRowGroupControlPosition( SpreadsheetApp.GroupControlTogglePosition.AFTER, );
參數
名稱 | 類型 | 說明 |
---|---|---|
position | GroupControlTogglePosition | 列群組控制切換鈕的位置。 |
回攻員
Sheet
:這個工作表用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setRowHeight(rowPosition, height)
以像素為單位,設定指定資料列的行高。根據預設,資料列會配合儲存格內容調整大小。如果您想強制將資料列設為指定高度,請使用 setRowHeightsForced(startRow, numRows, height)
。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Sets the first row to a height of 200 pixels sheet.setRowHeight(1, 200);
參數
名稱 | 類型 | 說明 |
---|---|---|
rowPosition | Integer | 要變更的資料列位置。 |
height | Integer | 要設定的高度 (以像素為單位)。 |
回攻員
Sheet
:工作表,可用於方法鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setRowHeights(startRow, numRows, height)
以像素為單位,設定指定列的高度。根據預設,資料列會配合儲存格內容調整大小。如果您想強制將資料列設為指定高度,請使用 setRowHeightsForced(startRow, numRows, height)
。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Sets the first three rows to a height of 20 pixels sheet.setRowHeights(1, 3, 20);
參數
名稱 | 類型 | 說明 |
---|---|---|
startRow | Integer | 要變更的起始列位置。 |
numRows | Integer | 要變更的資料列數量。 |
height | Integer | 要設定的高度 (以像素為單位)。 |
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setRowHeightsForced(startRow, numRows, height)
以像素為單位,設定指定列的高度。根據預設,資料列會配合儲存格內容調整大小。使用 setRowHeightsForced
時,即使儲存格內容比列高還高,系統也會強制列高度為指定高度。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Sets the first three rows to a height of 5 pixels. sheet.setRowHeightsForced(1, 3, 5);
參數
名稱 | 類型 | 說明 |
---|---|---|
startRow | Integer | 要變更的起始列位置。 |
numRows | Integer | 要變更的資料列數量。 |
height | Integer | 要設定的高度 (以像素為單位)。 |
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setTabColor(color)
設定工作表分頁的顏色。
// This example assumes there is a sheet named "first" const ss = SpreadsheetApp.getActiveSpreadsheet(); const first = ss.getSheetByName('first'); first.setTabColor('ff0000'); // Set the color to red. first.setTabColor(null); // Unset the color.
參數
名稱 | 類型 | 說明 |
---|---|---|
color | String | CSS 符號中的顏色代碼 (例如 '#ffffff' 或 'white' ),或是 null 來重設分頁顏色。 |
回攻員
Sheet
:用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setTabColorObject(color)
設定工作表分頁的顏色。
// This example assumes there is a sheet named "Sheet1" const ss = SpreadsheetApp.getActiveSpreadsheet(); const first = ss.getSheetByName('Sheet1'); const color = SpreadsheetApp.newColor() .setThemeColor(SpreadsheetApp.ThemeColorType.ACCENT1) .build(); first.setTabColorObject(color); // Set the color to theme accent 1. first.setTabColorObject(null); // Unset the color.
參數
名稱 | 類型 | 說明 |
---|---|---|
color | Color | 要設定的試算表分頁顏色。 |
回攻員
Sheet
:這個工作表用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
showColumns(columnIndex)
取消隱藏指定索引的資料欄。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Unhides the first column sheet.showColumns(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
columnIndex | Integer | 要取消隱藏的資料欄索引。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
showColumns(columnIndex, numColumns)
從指定索引開始,取消隱藏一或多個連續資料欄。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Unhides the first three columns sheet.showColumns(1, 3);
參數
名稱 | 類型 | 說明 |
---|---|---|
columnIndex | Integer | 要取消隱藏的資料欄起始索引。 |
numColumns | Integer | 要取消隱藏的欄數。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
showRows(rowIndex)
取消隱藏指定索引的資料列。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Unhides the first row sheet.showRows(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
rowIndex | Integer | 要取消隱藏的資料列索引。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
showRows(rowIndex, numRows)
從指定索引開始,取消隱藏一或多個連續資料列。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Unhides the first three rows sheet.showRows(1, 3);
參數
名稱 | 類型 | 說明 |
---|---|---|
rowIndex | Integer | 要取消隱藏的資料列起始索引。 |
numRows | Integer | 要取消隱藏的資料列數量。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
showSheet()
sort(columnPosition)
依欄遞增排序工作表。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Sorts the sheet by the first column, ascending sheet.sort(1);
參數
名稱 | 類型 | 說明 |
---|---|---|
columnPosition | Integer | 要依據的資料欄。 |
回攻員
Sheet
:工作表,可用於方法鏈結
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
sort(columnPosition, ascending)
依欄排序工作表。可接受參數,用來指定遞增或遞減排序。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // Sorts the sheet by the first column, descending sheet.sort(1, false);
參數
名稱 | 類型 | 說明 |
---|---|---|
columnPosition | Integer | 要依據的資料欄。 |
ascending | Boolean | true 代表遞增排序,false 代表遞減排序。 |
回攻員
Sheet
:工作表,可用於方法鏈結
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
unhideColumn(column)
取消隱藏指定範圍內的資料欄。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This unhides the first column if it was previously hidden const range = sheet.getRange('A1'); sheet.unhideColumn(range);
參數
名稱 | 類型 | 說明 |
---|---|---|
column | Range | 要取消隱藏的範圍 (如果隱藏)。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
unhideRow(row)
取消隱藏指定範圍中的資料列。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This unhides the first row if it was previously hidden const range = sheet.getRange('A1'); sheet.unhideRow(range);
參數
名稱 | 類型 | 說明 |
---|---|---|
row | Range | 要取消隱藏的範圍 (如果隱藏)。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
updateChart(chart)
更新這個工作表上的圖表。
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This code is going to loop through all the charts and change them to // column charts const charts = sheet.getCharts(); for (const i in charts) { const chart = charts[i]; const newChart = chart.modify().setChartType(Charts.ChartType.COLUMN).build(); sheet.updateChart(newChart); }
參數
名稱 | 類型 | 說明 |
---|---|---|
chart | EmbeddedChart | 要更新的圖表。 |
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets