Class Range

範圍

存取及修改試算表範圍。範圍可以是工作表中的單一儲存格,也可以是一組儲存格 工作表中相鄰的儲存格。

方法

方法傳回類型簡短說明
activate()Range將指定範圍設為 active range,其中最上方 範圍左儲存格做為 current cell
activateAsCurrentCell()Range將指定儲存格設為 current cell
addDeveloperMetadata(key)Range將含有指定索引鍵的開發人員中繼資料新增至範圍。
addDeveloperMetadata(key, visibility)Range將開發人員中繼資料新增至範圍,具有指定索引鍵和瀏覽權限。
addDeveloperMetadata(key, value)Range將含有指定鍵和值的開發人員中繼資料新增至範圍。
addDeveloperMetadata(key, value, visibility)Range新增開發人員中繼資料,並指定範圍的指定鍵、值和瀏覽權限。
applyColumnBanding()Banding對範圍套用預設的欄頻帶主題。
applyColumnBanding(bandingTheme)Banding對範圍套用指定的欄頻帶主題。
applyColumnBanding(bandingTheme, showHeader, showFooter)Banding將指定的欄頻帶主題套用至含有指定頁首和頁尾的範圍 可以管理叢集設定,像是節點 資源調度、安全性和其他預先設定項目
applyRowBanding()Banding對範圍套用預設的列頻帶主題。
applyRowBanding(bandingTheme)Banding將指定的列頻帶主題套用到範圍。
applyRowBanding(bandingTheme, showHeader, showFooter)Banding將指定的列頻帶主題套用至指定標頭和頁尾設定的範圍。
autoFill(destination, series)void根據此範圍的資料,在 destinationRange 中填入資料。
autoFillToNeighbor(series)void計算範圍,根據鄰近儲存格填入新資料並自動填入 ,根據此範圍內的資料,設定新的值範圍。
breakApart()Range將範圍內的所有多欄儲存格,再次拆解成個別儲存格。
canEdit()Boolean決定使用者是否有權編輯範圍內的所有儲存格。
check()Range將範圍內核取方塊的狀態變更為「已勾選」。
clear()Range清除內容和格式範圍。
clear(options)Range清除使用 顯示的進階選項
clearContent()Range清除範圍中的內容,保留格式不變。
clearDataValidations()Range清除這個範圍的資料驗證規則。
clearFormat()Range清除這個範圍的格式設定。
clearNote()Range清除指定儲存格或儲存格中的記事。
collapseGroups()Range收合屬於該範圍的所有群組。
copyFormatToRange(gridId, column, columnEnd, row, rowEnd)void將範圍的格式複製到指定的位置。
copyFormatToRange(sheet, column, columnEnd, row, rowEnd)void將範圍的格式複製到指定的位置。
copyTo(destination)void將特定儲存格範圍的資料複製到其他儲存格範圍。
copyTo(destination, copyPasteType, transposed)void將特定儲存格範圍的資料複製到其他儲存格範圍。
copyTo(destination, options)void將特定儲存格範圍的資料複製到其他儲存格範圍。
copyValuesToRange(gridId, column, columnEnd, row, rowEnd)void將範圍的內容複製到指定位置。
copyValuesToRange(sheet, column, columnEnd, row, rowEnd)void將範圍的內容複製到指定位置。
createDataSourcePivotTable(dataSource)DataSourcePivotTable從資料來源建立空白的資料來源資料透視表,固定在 這個範圍
createDataSourceTable(dataSource)DataSourceTable從資料來源建立空白的資料來源表格,固定在以下內容的第一個儲存格 範圍。
createDeveloperMetadataFinder()DeveloperMetadataFinder傳回 DeveloperMetadataFinderApi,以尋找此範圍內的開發人員中繼資料 範圍。
createFilter()Filter建立篩選器,並套用至工作表中的指定範圍。
createPivotTable(sourceData)PivotTable從指定sourceData (固定在第一個儲存格) 建立空白資料透視表 符合範圍內
createTextFinder(findText)TextFinder建立範圍的文字搜尋器,以便尋找和取代這個範圍中的文字。
deleteCells(shiftDimension)void刪除這個儲存格範圍。
expandGroups()Range展開範圍或控制項切換鈕與這個範圍交集的收合群組。
getA1Notation()String傳回範圍的字串說明 (使用 A1 標記法)。
getBackground()String傳回範圍中左上角儲存格的背景顏色 (例如 '#ffffff')。
getBackgroundObject()Color傳回範圍中左上角儲存格的背景顏色。
getBackgroundObjects()Color[][]傳回範圍中儲存格的背景顏色。
getBackgrounds()String[][]傳回範圍中儲存格的背景顏色 (例如 '#ffffff')。
getBandings()Banding[]傳回套用至這個範圍內任何儲存格的色帶。
getCell(row, column)Range傳回某範圍內的指定儲存格。
getColumn()Integer傳回這個範圍的起始欄位置。
getDataRegion()Range傳回四個基數 Direction 中展開的範圍副本,涵蓋所有 相鄰儲存格中的資料,
getDataRegion(dimension)Range傳回 Direction.UPDirection.DOWN 展開範圍的副本 (如果 的指定維度是 Dimension.ROWS,或 Direction.NEXTDirection.PREVIOUS (如果維度為 Dimension.COLUMNS)。
getDataSourceFormula()DataSourceFormula傳回範圍內第一個儲存格的 DataSourceFormula;如果傳回值,則傳回 null 儲存格不含資料來源公式。
getDataSourceFormulas()DataSourceFormula[]傳回範圍內儲存格的 DataSourceFormula
getDataSourcePivotTables()DataSourcePivotTable[]取得與範圍交集的所有資料來源資料透視表。
getDataSourceTables()DataSourceTable[]取得與範圍交集的所有資料來源資料表。
getDataSourceUrl()String傳回這個範圍內資料的網址,可用來建立圖表和查詢。
getDataTable()DataTable以 DataTable 的形式傳回這個物件內的資料。
getDataTable(firstRowIsHeader)DataTable以資料表的形式傳回這個範圍內的資料。
getDataValidation()DataValidation傳回範圍內左上方的儲存格的資料驗證規則。
getDataValidations()DataValidation[][]傳回範圍內所有儲存格的資料驗證規則。
getDeveloperMetadata()DeveloperMetadata[]取得與這個範圍相關聯的開發人員中繼資料。
getDisplayValue()String傳回範圍左上角儲存格的顯示值。
getDisplayValues()String[][]傳回這個範圍值的矩形網格。
getFilter()Filter傳回這個範圍所屬工作表上的篩選器;如果沒有篩選器,則傳回 null 工作表。
getFontColorObject()Color傳回範圍左上角的儲存格字型顏色。
getFontColorObjects()Color[][]傳回範圍中儲存格的字型顏色。
getFontFamilies()String[][]傳回範圍中儲存格的字型系列。
getFontFamily()String傳回範圍左上角的儲存格字型系列。
getFontLine()String取得儲存格範圍左上角的儲存格線條樣式 ('underline''line-through''none')。
getFontLines()String[][]取得範圍中儲存格的線條樣式 ('underline''line-through''none')。
getFontSize()Integer傳回範圍左上角儲存格的字型大小 (以點大小表示)。
getFontSizes()Integer[][]傳回範圍中儲存格的字型大小。
getFontStyle()String傳回左上角儲存格的字型樣式 ('italic''normal') 音量大小
getFontStyles()String[][]傳回範圍中儲存格的字型樣式。
getFontWeight()String傳回儲存格範圍左上角的儲存格字型粗細 (一般/粗體)。
getFontWeights()String[][]傳回範圍內儲存格的字型粗細。
getFormula()String傳回範圍左上角儲存格的公式 (A1 標記法),如果傳回空白字串,則傳回空白字串 儲存格空白或不含公式。
getFormulaR1C1()String傳回指定儲存格的公式 (R1C1 標記法);如果沒有,傳回 null
getFormulas()String[][]傳回範圍內儲存格的公式 (A1 標記法)。
getFormulasR1C1()String[][]傳回範圍內儲存格的公式 (R1C1 標記法)。
getGridId()Integer傳回範圍父項工作表的格線 ID。
getHeight()Integer傳回範圍的高度。
getHorizontalAlignment()String傳回左上方的儲存格文字的水平對齊方式 (左側/中間/右側) 音量大小
getHorizontalAlignments()String[][]傳回儲存格範圍中儲存格的水平對齊方式。
getLastColumn()Integer傳回結束欄位置。
getLastRow()Integer傳回結束列位置。
getMergedRanges()Range[]傳回 Range 物件的陣列,代表已完全合併的儲存格 在目前的範圍內,或目前範圍中至少有一個儲存格。
getNextDataCell(direction)Range從範圍第一欄和範圍中第一列的儲存格開始,傳回 指定的方向,是指內含資料的連續儲存格範圍的邊緣,或是內含資料的儲存格 設為「自動開啟」
getNote()String傳回與指定範圍相關聯的附註。
getNotes()String[][]傳回與範圍中儲存格相關的附註。
getNumColumns()Integer傳回這個範圍內的欄數。
getNumRows()Integer傳回這個範圍內的列數。
getNumberFormat()String取得指定範圍左上方的儲存格的數字或日期格式。
getNumberFormats()String[][]傳回範圍中儲存格的數字或日期格式。
getRichTextValue()RichTextValue傳回範圍左上方的儲存格的 RTF 格式值,如果儲存格中的儲存格,則傳回 null 值不是文字。
getRichTextValues()RichTextValue[][]傳回範圍中儲存格的 RTF 格式值。
getRow()Integer傳回這個範圍的列位置。
getRowIndex()Integer傳回這個範圍的列位置。
getSheet()Sheet傳回這個範圍所屬的工作表。
getTextDirection()TextDirection傳回範圍左上方的儲存格的文字方向。
getTextDirections()TextDirection[][]傳回儲存格範圍內儲存格的文字方向。
getTextRotation()TextRotation傳回範圍左上方的儲存格的文字旋轉設定。
getTextRotations()TextRotation[][]傳回範圍內儲存格的文字旋轉設定。
getTextStyle()TextStyle傳回範圍左上方的儲存格的文字樣式。
getTextStyles()TextStyle[][]傳回範圍中儲存格的文字樣式。
getValue()Object傳回範圍內左上方的儲存格的值。
getValues()Object[][]傳回這個範圍值的矩形網格。
getVerticalAlignment()String傳回儲存格左上角的垂直對齊方式 (頂端/中間/底部) 範圍。
getVerticalAlignments()String[][]傳回儲存格範圍中儲存格的垂直對齊方式。
getWidth()Integer傳回資料欄中範圍的寬度。
getWrap()Boolean傳回儲存格中的文字是否換行。
getWrapStrategies()WrapStrategy[][]傳回範圍內儲存格的文字換行策略。
getWrapStrategy()WrapStrategy傳回範圍左上方的儲存格的文字換行策略。
getWraps()Boolean[][]傳回儲存格內的文字是否換行。
insertCells(shiftDimension)Range在這個範圍內插入空白儲存格。
insertCheckboxes()Range在範圍中的每個儲存格中插入核取方塊,並已設定 true 的勾選和 false 為未勾選狀態。
insertCheckboxes(checkedValue)Range在範圍中的每個儲存格中插入核取方塊,並為勾選和 未勾選的空字串。
insertCheckboxes(checkedValue, uncheckedValue)Range在範圍中的每個儲存格中插入核取方塊,並為勾選的項目設定自訂值 以及未勾選狀態
isBlank()Boolean如果範圍完全空白,則傳回 true
isChecked()Boolean傳回範圍內所有儲存格目前的核取方塊狀態是否為「已勾選」。
isEndColumnBounded()Boolean決定範圍的結尾是否繫結至特定資料欄。
isEndRowBounded()Boolean判斷範圍的結尾是否與特定資料列繫結。
isPartOfMerge()Boolean如果目前範圍內的儲存格與任何合併的儲存格重疊,則傳回 true
isStartColumnBounded()Boolean決定範圍的開頭是否繫結至特定資料欄。
isStartRowBounded()Boolean判斷範圍的開頭是否與特定資料列繫結。
merge()Range將範圍中的儲存格合併成一個區塊。
mergeAcross()Range合併範圍內儲存格範圍中的儲存格。
mergeVertically()Range將範圍內的儲存格合併。
moveTo(target)void從這個範圍剪下並貼上 (格式和值) 到目標範圍。
offset(rowOffset, columnOffset)Range傳回新的範圍,該範圍是根據指定的列數和欄數,從這個範圍偏移 可以是負數。
offset(rowOffset, columnOffset, numRows)Range傳回相對於目前範圍的新範圍,左側點會偏移 以目前範圍為準並參考指定的欄數和儲存格高度。
offset(rowOffset, columnOffset, numRows, numColumns)Range傳回相對於目前範圍的新範圍,左側點會偏移 從目前範圍根據指定的列與欄,輸入的高度和寬度 儲存格。
protect()Protection建立可防止編輯範圍的物件 (具備以下特性的使用者除外) 權限。
randomize()Range隨機排列指定範圍內資料列的順序。
removeCheckboxes()Range移除範圍中的所有核取方塊。
removeDuplicates()Range移除這個範圍內含有與任一值重複的值的資料列。 。
removeDuplicates(columnsToCompare)Range移除這個範圍內含有重複指定資料欄中值重複的資料列 。
setBackground(color)Range設定 CSS 標記法範圍內所有儲存格的背景顏色 (例如 '#ffffff') 或 'white')。
setBackgroundObject(color)Range設定範圍內所有儲存格的背景顏色。
setBackgroundObjects(color)Range設定背景顏色的矩形格線 (必須與此範圍的尺寸相符)。
setBackgroundRGB(red, green, blue)Range使用 RGB 值 (介於 0 到 255 之間的整數) 將背景設為指定色彩。
setBackgrounds(color)Range設定背景顏色的矩形格線 (必須與此範圍的尺寸相符)。
setBorder(top, left, bottom, right, vertical, horizontal)Range設定邊框屬性。
setBorder(top, left, bottom, right, vertical, horizontal, color, style)Range設定顏色和/或樣式的邊框屬性。
setDataValidation(rule)Range為範圍中的所有儲存格設定一項資料驗證規則。
setDataValidations(rules)Range為範圍內的所有儲存格設定資料驗證規則。
setFontColor(color)Range設定 CSS 標記法中的字型顏色 (例如 '#ffffff''white')。
setFontColorObject(color)Range設定指定範圍的字型顏色。
setFontColorObjects(colors)Range設定字型顏色的矩形格線 (必須與此範圍的尺寸相符)。
setFontColors(colors)Range設定字型顏色的矩形格線 (必須與此範圍的尺寸相符)。
setFontFamilies(fontFamilies)Range設定字型系列的矩形格線 (必須與此範圍的尺寸相符)。
setFontFamily(fontFamily)Range設定字型系列,例如「myactivity」或「Helvetica」
setFontLine(fontLine)Range設定指定範圍 ('underline''line-through''none')。
setFontLines(fontLines)Range設定線條樣式的矩形格線 (必須與此範圍的尺寸相符)。
setFontSize(size)Range設定字型大小,並將大小設為要使用的點大小。
setFontSizes(sizes)Range設定字型大小的矩形格線 (必須與此範圍的尺寸相符)。
setFontStyle(fontStyle)Range設定指定範圍 ('italic''normal') 的字型樣式。
setFontStyles(fontStyles)Range設定字型樣式的矩形格線 (必須與此範圍的尺寸相符)。
setFontWeight(fontWeight)Range設定指定範圍的字型粗細 (一般/粗體)。
setFontWeights(fontWeights)Range設定字型粗細的矩形格線 (必須與此範圍的尺寸相符)。
setFormula(formula)Range更新這個範圍的公式。
setFormulaR1C1(formula)Range更新這個範圍的公式。
setFormulas(formulas)Range設定公式的矩形格線 (必須與這個範圍的尺寸相符)。
setFormulasR1C1(formulas)Range設定公式的矩形格線 (必須與這個範圍的尺寸相符)。
setHorizontalAlignment(alignment)Range設定指定範圍的水平 (從左到右) 對齊 (左/中/右)。
setHorizontalAlignments(alignments)Range設定水平對齊的矩形格線。
setNote(note)Range將記事設為指定值。
setNotes(notes)Range設定附註的矩形格線 (必須與這個範圍的尺寸相符)。
setNumberFormat(numberFormat)Range將數字或日期格式設為指定的格式字串。
setNumberFormats(numberFormats)Range設定矩形數字或日期格式的矩形網格 (必須與此範圍的尺寸相符)。
setRichTextValue(value)Range設定範圍中儲存格的 RTF 格式值。
setRichTextValues(values)Range設定 RTF 格式的矩形格線。
setShowHyperlink(showHyperlink)Range設定範圍是否應顯示超連結。
setTextDirection(direction)Range設定範圍中儲存格的文字方向。
setTextDirections(directions)Range設定文字方向的矩形格線。
setTextRotation(degrees)Range設定範圍中儲存格的文字旋轉設定。
setTextRotation(rotation)Range設定範圍中儲存格的文字旋轉設定。
setTextRotations(rotations)Range設定文字旋轉的矩形格線。
setTextStyle(style)Range設定範圍中儲存格的文字樣式。
setTextStyles(styles)Range設定文字樣式的矩形格線。
setValue(value)Range設定範圍的值。
setValues(values)Range設定矩形值的矩形網格 (必須與此範圍的尺寸相符)。
setVerticalAlignment(alignment)Range設定指定範圍 (頂端/中間/底部) 的垂直 (由上至下) 對齊。
setVerticalAlignments(alignments)Range設定垂直對齊的矩形格線 (必須與此範圍的尺寸相符)。
setVerticalText(isVertical)Range設定是否要堆疊範圍中的儲存格文字。
setWrap(isWrapEnabled)Range設定指定範圍的儲存格換行。
setWrapStrategies(strategies)Range設定環繞策略的矩形格線。
setWrapStrategy(strategy)Range為範圍中的儲存格設定文字換行策略。
setWraps(isWrapEnabled)Range設定文字換行政策的矩形格線 (必須與此範圍的尺寸相符)。
shiftColumnGroupDepth(delta)Range依指定幅度變更範圍的欄分組深度。
shiftRowGroupDepth(delta)Range依據指定的金額變更範圍的列群組深度。
sort(sortSpecObj)Range依指定欄和順序排序指定範圍內的儲存格。
splitTextToColumns()void這個外掛程式能根據自動偵測的分隔符號將文字欄分割為多個資料欄。
splitTextToColumns(delimiter)void使用指定的字串做為自訂分隔符號,將文字欄分割為多個資料欄。
splitTextToColumns(delimiter)void這個外掛程式能根據您指定的分隔符號將文字欄分割為多個資料欄。
trimWhitespace()Range移除這個範圍內每個儲存格中的空白字元 (例如空格、Tab 字元或換行字元)。
uncheck()Range將範圍內核取方塊的狀態變更為「未勾選」。

內容詳盡的說明文件

activate()

將指定範圍設為 active range,其中最上方 範圍左儲存格做為 current cell

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var range = sheet.getRange('A1:D10');
range.activate();

var selection = sheet.getSelection();
// Current cell: A1
var currentCell = selection.getCurrentCell();
// Active Range: A1:D10
var activeRange = selection.getActiveRange();

回攻員

Range:這個範圍用於鏈結。


activateAsCurrentCell()

將指定儲存格設為 current cell

如果指定的儲存格位於現有範圍內,則該範圍會變成有效範圍 範圍以目前儲存格為儲存格。

如果指定的儲存格不在任何現有範圍內,則現有的選取範圍會是 這個儲存格就會變成目前的儲存格和使用中的範圍

注意:指定的 Range 必須包含一個儲存格,否則會擲回 例外狀況。

// Gets the first sheet of the spreadsheet.
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];

// Gets the cell B5 and sets it as the active cell.
var range = sheet.getRange('B5');
var currentCell = range.activateAsCurrentCell();

// Logs the activated cell.
console.log(currentCell.getA1Notation());

回攻員

Range:這個範圍用於鏈結。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

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 Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets row 2 on the sheet.
const range = sheet.getRange('2:2');

// Adds the key 'NAME' to the developer metadata for row 2.
range.addDeveloperMetadata('NAME');

// Gets the metadata and logs it to the console.
const developerMetaData = range.getDeveloperMetadata()[0];
console.log(developerMetaData.getKey());

參數

名稱類型說明
keyString新開發人員中繼資料的鍵。

回攻員

Range:這個範圍用於鏈結。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • 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 Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets row 2 on Sheet1.
const range = sheet.getRange('2:2');

// Adds the key 'NAME' and sets the developer metadata visibility to 'DOCUMENT'
// for row 2 on Sheet1.
range.addDeveloperMetadata('NAME', SpreadsheetApp.DeveloperMetadataVisibility.DOCUMENT);

// Gets the updated metadata info and logs it to the console.
const developerMetaData = range.getDeveloperMetadata()[0];
console.log(developerMetaData.getKey());
console.log(developerMetaData.getVisibility().toString());

參數

名稱類型說明
keyString新開發人員中繼資料的鍵。
visibilityDeveloperMetadataVisibility新開發人員中繼資料的瀏覽權限。

回攻員

Range:這個範圍用於鏈結。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • 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 Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets row 2 of Sheet1.
const range = sheet.getRange('2:2');

// Adds the key 'NAME' and sets the value to 'GOOGLE' for the metadata of row 2.
range.addDeveloperMetadata('NAME', 'GOOGLE');

// Gets the metadata and logs it to the console.
const developerMetaData = range.getDeveloperMetadata()[0];
console.log(developerMetaData.getKey());
console.log(developerMetaData.getValue());

參數

名稱類型說明
keyString新開發人員中繼資料的鍵。
valueString新開發人員中繼資料的值。

回攻員

Range:這個範圍用於鏈結。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • 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 Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets row 2 on the sheet.
const range = sheet.getRange('2:2');

// Adds the key 'NAME', sets the value to 'GOOGLE', and sets the visibility
// to PROJECT for row 2 on the sheet.
range.addDeveloperMetadata(
  'NAME',
  'GOOGLE',
  SpreadsheetApp.DeveloperMetadataVisibility.PROJECT);

// Gets the updated metadata info and logs it to the console.
const developerMetaData = range.getDeveloperMetadata()[0];
console.log(developerMetaData.getKey());
console.log(developerMetaData.getValue());
console.log(developerMetaData.getVisibility().toString());

參數

名稱類型說明
keyString新開發人員中繼資料的鍵。
valueString新開發人員中繼資料的值。
visibilityDeveloperMetadataVisibility新開發人員中繼資料的瀏覽權限。

回攻員

Range:這個範圍用於鏈結。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

applyColumnBanding()

對範圍套用預設的欄頻帶主題。根據預設,頻帶包含頁首和 頁尾顏色。

// 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 Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets row 2 on the sheet.
const range = sheet.getRange('2:2');

// Applies column banding to row 2.
const colBanding = range.applyColumnBanding();

// Gets the first banding on the sheet and logs the color of the header column.
console.log(sheet.getBandings()[0].getHeaderColumnColorObject().asRgbColor().asHexString());

// Gets the first banding on the sheet and logs the color of the second column.
console.log(sheet.getBandings()[0].getSecondColumnColorObject().asRgbColor().asHexString());

回攻員

Banding — 新頻帶。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

applyColumnBanding(bandingTheme)

對範圍套用指定的欄頻帶主題。根據預設,頻帶具有標頭和 無頁尾顏色。

// 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 Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets row 2 on the sheet.
const range = sheet.getRange('2:2');

// Applies the INDIGO color banding theme to the columns in row 2.
const colBanding = range.applyColumnBanding(SpreadsheetApp.BandingTheme.INDIGO);

// Gets the first banding on the sheet and logs the color of the second column.
console.log(sheet.getBandings()[0].getSecondColumnColorObject().asRgbColor().asHexString());

參數

名稱類型說明
bandingThemeBandingTheme要套用至範圍中資料欄的色彩主題。

回攻員

Banding — 新頻帶。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

applyColumnBanding(bandingTheme, showHeader, showFooter)

將指定的欄頻帶主題套用至含有指定頁首和頁尾的範圍 可以管理叢集設定,像是節點 資源調度、安全性和其他預先設定項目

// 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 Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets rows 12-22 on the sheet.
const range = sheet.getRange('12:22');

// Applies the BLUE color banding theme to rows 12-22.
// Sets the header visibility to false and the footer visibility to true.
const colBanding = range.applyColumnBanding(SpreadsheetApp.BandingTheme.BLUE, false, true);

// Gets the banding color and logs it to the console.
console.log(sheet.getBandings()[0].getSecondColumnColorObject().asRgbColor().asHexString());

// Gets the header color object and logs it to the console. Returns null because the header
// visibility is set to false.
console.log(sheet.getBandings()[0].getHeaderColumnColorObject());

// Gets the footer color and logs it to the console.
console.log(sheet.getBandings()[0].getFooterColumnColorObject().asRgbColor().asHexString());

參數

名稱類型說明
bandingThemeBandingTheme要套用至範圍中資料欄的色彩主題。
showHeaderBoolean如果為 true,系統會對第一個套用色帶主題的標頭顏色。 。
showFooterBoolean如果為 true,則色帶主題頁尾顏色會套用到最後一個 。

回攻員

Banding — 新頻帶。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

applyRowBanding()

對範圍套用預設的列頻帶主題。根據預設,頻帶包含頁首和 頁尾顏色。

// Opens the spreadsheet 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 rows 1-30 on Sheet1.
const range = sheet.getRange('1:30');

// Applies row banding to rows 1-30.
range.applyRowBanding();

// Gets the hex color of the second banded row.
const secondRowColor = range.getBandings()[0]
                            .getSecondRowColorObject()
                            .asRgbColor()
                            .asHexString();

// Logs the hex color to console.
console.log(secondRowColor);

回攻員

Banding - 頻帶。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

applyRowBanding(bandingTheme)

將指定的列頻帶主題套用到範圍。根據預設,頻帶包含頁首和 頁尾顏色。

// Opens the spreadsheet 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 rows 1-30 on Sheet1.
const range = sheet.getRange('1:30');

// Applies the INDIGO row banding theme to rows 1-30.
range.applyRowBanding(SpreadsheetApp.BandingTheme.INDIGO);

// Gets the hex color of the second banded row.
const secondRowColor = range.getBandings()[0]
                            .getSecondRowColorObject()
                            .asRgbColor()
                            .asHexString();

// Logs the hex color to console.
console.log(secondRowColor);

參數

名稱類型說明
bandingThemeBandingTheme要套用至範圍內資料列的色彩主題。

回攻員

Banding — 新頻帶。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

applyRowBanding(bandingTheme, showHeader, showFooter)

將指定的列頻帶主題套用至指定標頭和頁尾設定的範圍。

// Opens the spreadsheet 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 rows 1-30 on Sheet1.
const range = sheet.getRange('1:30');

// Applies the INDIGO row banding to rows 1-30 and
// specifies to hide the header and show the footer.
range.applyRowBanding(SpreadsheetApp.BandingTheme.INDIGO, false, true);

參數

名稱類型說明
bandingThemeBandingTheme要套用至範圍內資料列的色彩主題。
showHeaderBoolean如果設為 true,則色帶主題的標頭顏色會套用至第一列。
showFooterBoolean如果設為 true,則區塊主題頁尾顏色會套用至最後一列。

回攻員

Banding — 新頻帶。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

autoFill(destination, series)

根據此範圍的資料,在 destinationRange 中填入資料。新的值 也會由指定的 series 類型決定。目的地範圍必須包含 並只往一個方向延伸。舉例來說,下列程式碼會填入 A1:A20 以及根據 A1:A4 中目前值的一連串遞增數字:

var sheet = SpreadsheetApp.getActiveSheet();

// Has values [1, 2, 3, 4].
var sourceRange = sheet.getRange("A1:A4");
// The range to fill with values.
var destination = sheet.getRange("A1:A20");

// Inserts new values in A5:A20, continuing the pattern expressed in A1:A4
sourceRange.autoFill(destination, SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);

參數

名稱類型說明
destinationRange要自動填入值的範圍。目的地範圍 只包含這個範圍,而且只朝一個方向延伸 (向上、向下、向左或 右邊)。
seriesAutoFillSeries用來計算新值的 AutoFill 系列類型。 此系列的效果會因來源資料的類型和數量而異。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

autoFillToNeighbor(series)

計算範圍,根據鄰近儲存格填入新資料並自動填入 ,根據此範圍內的資料,設定新的值範圍。這些新的值 取決於指定的 series 類型

計算的目的地範圍會考量周遭資料,來判斷新的 應該插入「值」:如果資料位於 自動填入的新值只會延伸至這些資料相鄰的資料。

舉例來說,如果 A1:A20 填入了一連串遞增數字,而這個方法 會在包含一系列日期的 B1:B4 上呼叫,但新值只會 已插入 B5:B20。因此,這些新的值會「stick」包含 值。

var sheet = SpreadsheetApp.getActiveSheet();

// A1:A20 has values [1, 2, 3, ... 20].
// B1:B4 has values [1/1/2017, 1/2/2017, ...]
var sourceRange = sheet.getRange("B1:B4");

// Results in B5:B20 having values [1/5/2017, ... 1/20/2017]
sourceRange.autoFillToNeighbor(SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);

參數

名稱類型說明
seriesAutoFillSeries用來計算新值的 AutoFill 系列類型。 此系列的效果會因來源資料的類型和數量而異。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

breakApart()

將範圍內的所有多欄儲存格,再次拆解成個別儲存格。

對範圍呼叫這個函式等同於選取範圍,然後按一下 依序前往「格式」>「合併儲存格」>「取消合併」

// Opens the spreadsheet 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 range A1:C6 on Sheet1.
const range = sheet.getRange('A1:C6');

// Unmerges the range A1:C6 into individual cells.
range.breakApart();

回攻員

Range:這個範圍用於鏈結。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

canEdit()

決定使用者是否有權編輯範圍內的所有儲存格。試算表 擁有者隨時可以編輯受保護的範圍和工作表。

// Opens the spreadsheet 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 range A1:C6 on Sheet1.
const range = sheet.getRange('A1:C6');

// Logs whether the user has permission to edit every cell in the range.
console.log(range.canEdit());

回攻員

Boolean - true,如果使用者俱備編輯範圍中所有儲存格的權限;false 反之。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

check()

將範圍內核取方塊的狀態變更為「已勾選」。忽略範圍中的儲存格 但目前不包含已設定的勾選或未勾選值。

// Changes the state of cells which currently contain either the checked or unchecked value
// configured in the range A1:B10 to 'checked'.
var range = SpreadsheetApp.getActive().getRange('A1:B10');
range.check();

回攻員

Range:這個範圍用於鏈結。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

clear()

清除內容和格式範圍。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:D10");
range.clear();

回攻員

Range:這個範圍用於鏈結。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

clear(options)

清除使用 顯示的進階選項根據預設,系統會清除所有資料。

// The code below clears range C2:G7 in the active sheet, but preserves the format,
// data validation rules, and comments.
SpreadsheetApp.getActiveSheet().getRange(2, 3, 6, 5).clear({contentsOnly: true});

參數

名稱類型說明
optionsObject指定進階參數的 JavaScript 物件,如下所示。

進階參數

名稱類型說明
commentsOnlyBoolean是否僅清除留言。
contentsOnlyBoolean是否僅清除內容。
formatOnlyBoolean是否僅清除格式;請注意 格式也會清除資料驗證規則。
validationsOnlyBoolean是否僅清除資料驗證規則。
skipFilteredRowsBoolean是否清除篩除的資料列。

回攻員

Range:這個範圍用於鏈結。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

clearContent()

清除範圍中的內容,保留格式不變。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:D10");
range.clearContent();

回攻員

Range:這個範圍用於鏈結。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

clearDataValidations()

清除這個範圍的資料驗證規則。

// Clear the data validation rules for cells A1:B5.
var range = SpreadsheetApp.getActive().getRange('A1:B5');
range.clearDataValidations();

回攻員

Range:這個範圍用於鏈結。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

clearFormat()

清除這個範圍的格式設定。

這會清除範圍內儲存格或儲存格的文字格式設定,但不會重設任何 數字格式設定規則

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:D10");
range.clearFormat();

回攻員

Range:這個範圍用於鏈結。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

clearNote()

清除指定儲存格或儲存格中的記事。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:D10");
range.clearNote();

回攻員

Range:這個範圍用於鏈結。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

collapseGroups()

收合屬於該範圍的所有群組。如果沒有任何群組 範圍中,有部分覆蓋的最深展開群組會收合。

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var range = sheet.getActiveRange();

// All row and column groups within the range are collapsed.
range.collapseGroups();

回攻員

Range:這個範圍用於鏈結。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

copyFormatToRange(gridId, column, columnEnd, row, rowEnd)

將範圍的格式複製到指定的位置。如果目的地較大或較小 來源範圍中的值,系統就會重複或截斷來源。請注意,此 方法只會複製格式。

如需 MeshId 參數的詳細說明,請參閱 getGridId()

var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getSheets()[0];

var range = source.getRange("B2:D4");

// This copies the formatting in B2:D4 in the source sheet to
// D4:F6 in the sheet with gridId 1555299895. Note that you can get the gridId
// of a sheet by calling sheet.getSheetId() or range.getGridId().
range.copyFormatToRange(1555299895, 4, 6, 4, 6);

參數

名稱類型說明
gridIdInteger試算表中的工作表專屬 ID (無論位置為何)。
columnInteger目標範圍的第一欄。
columnEndInteger目標範圍的結尾欄。
rowInteger目標範圍的起始列。
rowEndInteger目標範圍的結束列。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

另請參閱


copyFormatToRange(sheet, column, columnEnd, row, rowEnd)

將範圍的格式複製到指定的位置。如果目的地較大或較小 來源範圍中的值,系統就會重複或截斷來源。請注意,此 方法只會複製格式。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getSheets()[0];
var destination = ss.getSheets()[1];

var range = source.getRange("B2:D4");

// This copies the formatting in B2:D4 in the source sheet to
// D4:F6 in the second sheet
range.copyFormatToRange(destination, 4, 6, 4, 6);

參數

名稱類型說明
sheetSheet目標工作表。
columnInteger目標範圍的第一欄。
columnEndInteger目標範圍的結尾欄。
rowInteger目標範圍的起始列。
rowEndInteger目標範圍的結束列。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

copyTo(destination)

將特定儲存格範圍的資料複製到其他儲存格範圍。值和格式設定 已複製完成

// The code below copies the first 5 columns over to the 6th column.
var sheet = SpreadsheetApp.getActiveSheet();
var rangeToCopy = sheet.getRange(1, 1, sheet.getMaxRows(), 5);
rangeToCopy.copyTo(sheet.getRange(1, 6));

參數

名稱類型說明
destinationRange複製目的地範圍;只有左上角的儲存格位置相關。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

copyTo(destination, copyPasteType, transposed)

將特定儲存格範圍的資料複製到其他儲存格範圍。

// The code below copies only the values of the first 5 columns over to the 6th column.
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("A:E").copyTo(sheet.getRange("F1"), SpreadsheetApp.CopyPasteType.PASTE_VALUES,
false);

參數

名稱類型說明
destinationRange複製目的地範圍;只有左上角的儲存格位置相關。
copyPasteTypeCopyPasteType指定如何將範圍內容貼到 目的地。
transposedBoolean是否應將範圍貼上轉換方向貼上。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

copyTo(destination, options)

將特定儲存格範圍的資料複製到其他儲存格範圍。根據預設 的格式就會複製,但也可以使用進階引數覆寫這項設定。

// The code below copies only the values of the first 5 columns over to the 6th column.
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("A:E").copyTo(sheet.getRange("F1"), {contentsOnly:true});

參數

名稱類型說明
destinationRange複製目的地範圍;只有左上角的儲存格位置相關。
optionsObject指定進階參數的 JavaScript 物件,如下所示。

進階參數

名稱類型說明
formatOnlyBoolean指定只應複製該格式
contentsOnlyBoolean指定只應複製內容

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

copyValuesToRange(gridId, column, columnEnd, row, rowEnd)

將範圍的內容複製到指定位置。如果目的地較大或較小 來源範圍中的值,系統就會重複或截斷來源。

如需 MeshId 參數的詳細說明,請參閱 getGridId()

var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getSheets()[0];

var range = source.getRange("B2:D4");

// This copies the data in B2:D4 in the source sheet to
// D4:F6 in the sheet with gridId 0
range.copyValuesToRange(0, 4, 6, 4, 6);

參數

名稱類型說明
gridIdInteger試算表中的工作表專屬 ID (無論位置為何)。
columnInteger目標範圍的第一欄。
columnEndInteger目標範圍的結尾欄。
rowInteger目標範圍的起始列。
rowEndInteger目標範圍的結束列。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

另請參閱


copyValuesToRange(sheet, column, columnEnd, row, rowEnd)

將範圍的內容複製到指定位置。如果目的地較大或較小 來源範圍中的值,系統就會重複或截斷來源。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getSheets()[0];
var destination = ss.getSheets()[1];

var range = source.getRange("B2:D4");

// This copies the data in B2:D4 in the source sheet to
// D4:F6 in the second sheet
range.copyValuesToRange(destination, 4, 6, 4, 6);

參數

名稱類型說明
sheetSheet目標工作表。
columnInteger目標範圍的第一欄。
columnEndInteger目標範圍的結尾欄。
rowInteger目標範圍的起始列。
rowEndInteger目標範圍的結束列。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

createDataSourcePivotTable(dataSource)

從資料來源建立空白的資料來源資料透視表,固定在 這個範圍

本例說明如何建立及設定新的資料來源資料透視表。

var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var anchorCell = spreadsheet.getSheets()[0].getRange('A1');
var dataSource = spreadsheet.getDataSources()[0];

var pivotTable = anchorCell.createDataSourcePivotTable(dataSource);
pivotTable.addRowGroup('dataColumnA');
pivotTable.addColumnGroup('dataColumnB');
pivotTable.addPivotValue('dataColumnC', SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotTable.addFilter('dataColumnA',
                     SpreadsheetApp.newFilterCriteria().whenTextStartsWith('A').build());

參數

名稱類型說明
dataSourceDataSource要建立資料透視表的來源資料來源。

回攻員

DataSourcePivotTable:新建的資料來源資料透視表。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

createDataSourceTable(dataSource)

從資料來源建立空白的資料來源表格,固定在以下內容的第一個儲存格 範圍。

本例說明如何建立及設定新的資料來源資料表。

var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var anchorCell = spreadsheet.getSheets()[0].getRange('A1');
var dataSource = spreadsheet.getDataSources()[0];

var dataSourceTable = anchorCell.createDataSourceTable(dataSource);
    .addColumns('dataColumnA', 'dataColumnB', 'dataColumnC')
    .addSortSpec('dataColumnA', /* ascending= *\/ true)
    .addSortSpec('dataColumnB', /* ascending= *\/ false);

參數

名稱類型說明
dataSourceDataSource要建立資料透視表的來源資料來源。

回攻員

DataSourceTable:新建的資料來源資料表。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

createDeveloperMetadataFinder()

傳回 DeveloperMetadataFinderApi,以尋找此範圍內的開發人員中繼資料 範圍。只有當中繼資料完全隸屬於該範圍時,中繼資料才會在範圍內 範圍。舉例來說,與第 3:3 列相關聯的中繼資料不在範圍內 「A1:D5」但位於「1:5」範圍內

// 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 Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets the range A1:C6.
const range = sheet.getRange('A1:C6');

// Creates a developer metadata finder to search for metadata in the scope of this range.
const developerMetaDataFinder = range.createDeveloperMetadataFinder();

// Logs information about the developer metadata finder to the console.
const developerMetaData = developerMetaDataFinder.find()[0];
console.log(developerMetaData.getKey());
console.log(developerMetaData.getValue());
console.log(developerMetaData.getVisibility().toString());

回攻員

DeveloperMetadataFinder:開發人員中繼資料搜尋器,可搜尋這個範圍內的中繼資料。


createFilter()

建立篩選器,並套用至工作表中的指定範圍。您建立的數量上限 一個篩選器如要在建立篩選器後存取及修改篩選器,請使用 getFilter()Sheet.getFilter()

let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");

// Creates a new filter and applies it to the range A1:C20 on the active sheet.
function createFilter() {
  range.createFilter();
}
// Gets the filter and applies criteria that only shows cells that aren't empty.
function getFilterAddCriteria() {
  let filter = range.getFilter();
  let criteria = SpreadsheetApp.newFilterCriteria()
    .whenCellNotEmpty()
    .build();
  filter.setColumnFilterCriteria(2, criteria);
}
敬上 請使用這個方法為 Grid 工作表 (預設類型的工作表) 建立篩選器。 格狀工作表是未連結至資料庫的工作表。如要建立其他類型的篩選器 請參閱下列資源:

回攻員

Filter:新的篩選器。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

createPivotTable(sourceData)

從指定sourceData (固定在第一個儲存格) 建立空白資料透視表 符合範圍內

// 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 Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets cell A1 as a range in order to place the pivot table.
const range = sheet.getRange('A1');

// Gets the range of the source data for the pivot table.
const dataRange = sheet.getRange('E12:G20');

// Creates an empty pivot table from the specified source data.
const pivotTable = range.createPivotTable(dataRange);

// Logs the values from the pivot table's source data to the console.
console.log(pivotTable.getSourceDataRange().getValues());

參數

名稱類型說明
sourceDataRange要用來建立資料透視表的資料。

回攻員

PivotTable:新建立的 PivotTable

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

createTextFinder(findText)

建立範圍的文字搜尋器,以便尋找和取代這個範圍中的文字。

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var range = sheet.getActiveRange();

// Creates  a text finder for the range.
var textFinder = range.createTextFinder('dog');

// Returns the first occurrence of 'dog'.
var firstOccurrence = textFinder.findNext();

// Replaces the last found occurrence of 'dog' with 'cat' and returns the number
// of occurrences replaced.
var numOccurrencesReplaced = textFinder.replaceWith('cat');

參數

名稱類型說明
findTextString要搜尋的文字。

回攻員

TextFinder:範圍的 TextFinder


deleteCells(shiftDimension)

刪除這個儲存格範圍。與所提供維度一起,工作表中的現有資料會隨著移動 接近刪除範圍

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:D10");
range.deleteCells(SpreadsheetApp.Dimension.COLUMNS);

參數

名稱類型說明
shiftDimensionDimension用於移轉現有資料的維度。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

expandGroups()

展開範圍或控制項切換鈕與這個範圍交集的收合群組。 控制項切換位置是指顯示控制項切換鈕的位置,緊接在 視設定而定如果同一個營業地點有多個群組 Fitbit 團隊已展開

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var range = sheet.getActiveRange();

// All row and column groups within the range are expanded.
range.expandGroups();

回攻員

Range:這個範圍用於鏈結。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getA1Notation()

傳回範圍的字串說明 (使用 A1 標記法)。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange(1, 1, 2, 5);

// Logs "A1:E2"
Logger.log(range.getA1Notation());

回攻員

String:A1 標記法中的範圍字串說明。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getBackground()

傳回範圍中左上角儲存格的背景顏色 (例如 '#ffffff')。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B5");
Logger.log(cell.getBackground());

回攻員

String:背景的顏色代碼。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getBackgroundObject()

傳回範圍中左上角儲存格的背景顏色。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B5");
Logger.log(cell.getBackgroundObject().asRgbColor().asHexString());

回攻員

Color:範圍左上角儲存格的背景顏色。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getBackgroundObjects()

傳回範圍中儲存格的背景顏色。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B5:C6");
var bgColors = range.getBackgroundObjects();
for (var i in bgColors) {
  for (var j in bgColors[i]) {
    Logger.log(bgColors[i][j].asRgbColor().asHexString());
  }
}

回攻員

Color[][]:背景顏色的 2D 陣列。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getBackgrounds()

傳回範圍中儲存格的背景顏色 (例如 '#ffffff')。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B5:C6");
var bgColors = range.getBackgrounds();
for (var i in bgColors) {
  for (var j in bgColors[i]) {
    Logger.log(bgColors[i][j]);
  }
}

回攻員

String[][]:背景色彩代碼的 2D 陣列。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • 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 Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Sets a range.
const range = sheet.getRange('A1:K50');

// Gets the banding info for the range.
const bandings = range.getBandings();

// Logs the second row color for each banding to the console.
for (let banding of bandings) {
  console.log(banding.getSecondRowColor());
}

回攻員

Banding[] - 套用至這個範圍內任何儲存格的色帶。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getCell(row, column)

傳回某範圍內的指定儲存格。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B2:D4");

// The row and column here are relative to the range
// getCell(1,1) in this code returns the cell at B2
var cell = range.getCell(1, 1);
Logger.log(cell.getValue());

參數

名稱類型說明
rowInteger儲存格相對於範圍的列。
columnInteger儲存格相對於範圍的欄。

回攻員

Range:包含指定座標的單一儲存格範圍。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getColumn()

傳回這個範圍的起始欄位置。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B2:D4");
// Logs "2.0"
Logger.log(range.getColumn());

回攻員

Integer:試算表中該範圍的起始欄位置。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataRegion()

傳回四個基數 Direction 中展開的範圍副本,涵蓋所有 相鄰儲存格中的資料,如果範圍包含空白儲存格 (不包含這些儲存格) 沿著對角線方向傳回範圍本身這與選取範圍 在編輯器中輸入 Ctrl+A

// Assume the active spreadsheet is blank.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
sheet.getRange("C2").setValue(100);
sheet.getRange("B3").setValue(100);
sheet.getRange("D3").setValue(100);
sheet.getRange("C4").setValue(100);
// Logs "B2:D4"
Logger.log(sheet.getRange("C3").getDataRegion().getA1Notation());

回攻員

Range:整份試算表的範圍資料地區或範圍。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataRegion(dimension)

傳回 Direction.UPDirection.DOWN 展開範圍的副本 (如果 的指定維度是 Dimension.ROWS,或 Direction.NEXTDirection.PREVIOUS (如果維度為 Dimension.COLUMNS)。範圍擴大 是根據在表格形式整理出的範圍旁邊偵測資料。擴大範圍 涵蓋所有相鄰儲存格中的資料,其中包含指定維度的資料,包括表格 界定範圍如果原始範圍在指定維度周圍有空白儲存格, 範圍本身。這個方法類似於在編輯器中選取範圍並輸入資料欄的 Ctrl+Space,或在編輯器中輸入 Shift+Space

// Assume the active spreadsheet is blank.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
sheet.getRange("C2").setValue(100);
sheet.getRange("B3").setValue(100);
sheet.getRange("D3").setValue(100);
sheet.getRange("C4").setValue(100);
// Logs "C2:C4"
Logger.log(sheet.getRange("C3").getDataRegion(SpreadsheetApp.Dimension.ROWS).getA1Notation());
// Logs "B3:D3"
Logger.log(
    sheet.getRange("C3").getDataRegion(SpreadsheetApp.Dimension.COLUMNS).getA1Notation());

參數

名稱類型說明
dimensionDimension用來擴大範圍的維度。

回攻員

Range — 範圍的資料地區或範圍,涵蓋了每一欄或跨列的各列 原始範圍。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataSourceFormula()

傳回範圍內第一個儲存格的 DataSourceFormula;如果傳回值,則傳回 null 儲存格不含資料來源公式。

// 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 the range A1 on Sheet1.
const range = sheet.getRange('A1');

// Gets the data source formula from cell A1.
const dataSourceFormula = range.getDataSourceFormula();

// Gets the formula.
const formula = dataSourceFormula.getFormula();

// Logs the formula.
console.log(formula);

回攻員

DataSourceFormula - 儲存格的 DataSourceFormula

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataSourceFormulas()

傳回範圍內儲存格的 DataSourceFormula

// 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 the range A1:B5 on Sheet1.
const range = sheet.getRange('A1:B5');

// Gets an array of the data source formulas in the range A1:B5.
const dataSourceFormulas = range.getDataSourceFormulas();

// Logs the first formula in the array.
console.log(dataSourceFormulas[0].getFormula());

回攻員

DataSourceFormula[]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 the range A1:G50 on Sheet1.
const range = sheet.getRange('A1:G50');

// Gets an array of the data source pivot tables in the range A1:G50.
const dataSourcePivotTables = range.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 the range A1:G50 on Sheet1.
const range = sheet.getRange('A1:G50');

// Gets the first data source table in the range A1:G50.
const dataSourceTable = range.getDataSourceTables()[0];

// Logs the time of the last completed data execution on the data source table.
console.log(dataSourceTable.getStatus().getLastExecutionTime());

回攻員

DataSourceTable[]:資料來源資料表的清單。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataSourceUrl()

傳回這個範圍內資料的網址,可用來建立圖表和查詢。

Code.gs

function doGet() {
  var ss = SpreadsheetApp.openById('1khO6hBWTNNyvyyxvob7aoZTI9ZvlqqASNeq0e29Tw2c');
  var sheet = ss.getSheetByName('ContinentData');
  var range = sheet.getRange('A1:B8');

  var template = HtmlService.createTemplateFromFile('piechart');
  template.dataSourceUrl = range.getDataSourceUrl();
  return template.evaluate();
}

piechart.html

<!DOCTYPE html>
<html>
  <head>
    <!--Load the AJAX API-->
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      // Load the Visualization API and the corechart package.
      google.charts.load('current', {'packages': ['corechart']});

      // Set a callback to run when the Google Visualization API is loaded.
      google.charts.setOnLoadCallback(queryData);

      function queryData() {
        var query = new google.visualization.Query('<?= dataSourceUrl ?>');
        query.send(drawChart);
      }

      // Callback that creates and populates a data table,
      // instantiates the pie chart, passes in the data and
      // draws it.
      function drawChart(response) {
        if (response.isError()) {
          alert('Error: ' + response.getMessage() + ' ' + response.getDetailedMessage());
          return;
        }
        var data = response.getDataTable();

        // Set chart options.
        var options = {
          title: 'Population by Continent',
          width: 400,
          height: 300
        };

        // Instantiate and draw the chart, passing in some options.
        var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <!-- Div that holds the pie chart. -->
    <div id="chart_div"></div>
  </body>
</html>

回攻員

String:這個範圍的網址做為資料來源,可傳遞至其他 API (例如圖表)。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataTable()

以 DataTable 的形式傳回這個物件內的資料。

// 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 the range A1:B7 on Sheet1.
const range = sheet.getRange('A1:B7');

// Gets the range A1:B7 as a data table. The values in each column must be of the same type.
const datatable = range.getDataTable();

// Uses the Charts service to build a bar chart from the data table.
// This doesn't build an embedded chart. To do that, use sheet.newChart().addRange() instead.
const chart = Charts.newBarChart()
                  .setDataTable(datatable)
                  .setOption('title', 'Your Chart Title Here')
                  .build();

回攻員

DataTable:以資料表形式呈現資料。


getDataTable(firstRowIsHeader)

以資料表的形式傳回這個範圍內的資料。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("A1:B7");

// Calling this method with "true" sets the first line to be the title of the axes
var datatable = range.getDataTable(true);

// Note that this doesn't build an EmbeddedChart, so you can't just use
// Sheet#insertChart(). To do that, use sheet.newChart().addRange() instead.
var chart = Charts.newBarChart()
    .setDataTable(datatable)
    .setOption("title", "Your Title Here")
    .build();

參數

名稱類型說明
firstRowIsHeaderBoolean是否將第一列設為標題。

回攻員

DataTable:以資料表格形式呈現的資料。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataValidation()

傳回範圍內左上方的儲存格的資料驗證規則。如果資料驗證作業 已在儲存格中設定,則此方法會傳回 null

// Log information about the data validation rule for cell A1.
var cell = SpreadsheetApp.getActive().getRange('A1');
var rule = cell.getDataValidation();
if (rule != null) {
  var criteria = rule.getCriteriaType();
  var args = rule.getCriteriaValues();
  Logger.log('The data validation rule is %s %s', criteria, args);
} else {
  Logger.log('The cell does not have a data validation rule.')
}

回攻員

DataValidation:範圍左上角儲存格的資料驗證規則。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataValidations()

傳回範圍內所有儲存格的資料驗證規則。如果未驗證資料 這個方法會針對該儲存格在陣列中的位置傳回 null

// Change existing data validation rules that require a date in 2013 to require a date in 2014.
var oldDates = [new Date('1/1/2013'), new Date('12/31/2013')];
var newDates = [new Date('1/1/2014'), new Date('12/31/2014')];
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns());
var rules = range.getDataValidations();

for (var i = 0; i < rules.length; i++) {
  for (var j = 0; j < rules[i].length; j++) {
    var rule = rules[i][j];

    if (rule != null) {
      var criteria = rule.getCriteriaType();
      var args = rule.getCriteriaValues();

      if (criteria == SpreadsheetApp.DataValidationCriteria.DATE_BETWEEN
          && args[0].getTime() == oldDates[0].getTime()
          && args[1].getTime() == oldDates[1].getTime()) {
        // Create a builder from the existing rule, then change the dates.
        rules[i][j] = rule.copy().withCriteria(criteria, newDates).build();
      }
    }
  }
}
range.setDataValidations(rules);

回攻員

DataValidation[][]:與 範圍。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • 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 Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets row 2 on Sheet1.
const range = sheet.getRange('2:2');

// Adds metadata to row 2.
range.addDeveloperMetadata('NAME', 'GOOGLE');

// Logs the metadata to console.
for (const metadata of range.getDeveloperMetadata()) {
  console.log(`${metadata.getKey()}: ${metadata.getValue()}`);
}

回攻員

DeveloperMetadata[]:與這個範圍相關聯的開發人員中繼資料。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDisplayValue()

傳回範圍左上角儲存格的顯示值。值為 String。 顯示的值會考量日期、時間和貨幣格式設定,包括 格式是由試算表的語言代碼設定自動套用。空白儲存格傳回空白值 字串。

// 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 Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets cell A30 and sets its value to 'Test code.'
const cell = sheet.getRange('A30');
cell.setValue('Test code');

// Gets the value and logs it to the console.
console.log(cell.getDisplayValue());

回攻員

String:這個儲存格中顯示的值。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDisplayValues()

傳回這個範圍值的矩形網格。

傳回顯示值的二維陣列,先依列再依欄建立索引。 值為 String 物件顯示的值會將日期、時間和 貨幣格式,包括由試算表語言代碼自動套用的格式 以及環境敘述空白儲存格會以陣列中的空字串表示。請記住, 範圍索引從 1, 1 開始,JavaScript 陣列是從 [0][0] 建立索引。

// The code below gets the displayed values for the range C2:G8
// in the active spreadsheet.  Note that this is a JavaScript array.
var values = SpreadsheetApp.getActiveSheet().getRange(2, 3, 6, 4).getDisplayValues();
Logger.log(values[0][0]);

回攻員

String[][]:值的二維陣列。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFilter()

傳回這個範圍所屬工作表上的篩選器;如果沒有篩選器,則傳回 null 工作表。

let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");
// Gets the existing filter on the sheet that the given range belongs to.
let filter = range.getFilter();

回攻員

Filter:篩選器。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontColorObject()

傳回範圍左上角的儲存格字型顏色。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

Logger.log(range.getFontColorObject().asRgbColor().asHexString());

回攻員

Color:範圍左上角儲存格的字型顏色。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontColorObjects()

傳回範圍中儲存格的字型顏色。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

var results = range.getFontColorObjects();

for (var i in results) {
  for (var j in results[i]) {
    Logger.log(results[i][j].asRgbColor().asHexString());
  }
}

回攻員

Color[][]:與範圍中的儲存格相關聯的 2D 字型顏色陣列。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontFamilies()

傳回範圍中儲存格的字型系列。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

var results = range.getFontFamilies();

for (var i in results) {
  for (var j in results[i]) {
    Logger.log(results[i][j]);
  }
}

回攻員

String[][] — 與範圍中的儲存格相關聯的 2D 字型系列。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontFamily()

傳回範圍左上角的儲存格字型系列。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

Logger.log(range.getFontFamily());

回攻員

String — 儲存格的字型系列。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontLine()

取得儲存格範圍左上角的儲存格線條樣式 ('underline''line-through''none')。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

Logger.log(range.getFontLine());

回攻員

String:字型行。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontLines()

取得範圍中儲存格的線條樣式 ('underline''line-through''none')。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

var results = range.getFontLines();

for (var i in results) {
  for (var j in results[i]) {
    Logger.log(results[i][j]);
  }
}

回攻員

String[][]:與範圍中的儲存格相關聯的二維字型陣列。

授權

使用這個方法的指令碼需要下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontSize()

傳回範圍左上角儲存格的字型大小 (以點大小表示)。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range =