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.UP и Direction.DOWN , если указанное измерение — Dimension.ROWS , или Direction.NEXT и Direction.PREVIOUS , если измерение — Dimension.COLUMNS .
getDataSourceFormula() DataSourceFormula Возвращает DataSourceFormula для первой ячейки диапазона или null , если ячейка не содержит формулу источника данных.
getDataSourceFormulas() DataSourceFormula[] Возвращает DataSourceFormula для ячеек в диапазоне.
getDataSourcePivotTables() DataSourcePivotTable[] Получает все сводные таблицы источника данных, пересекающие диапазон.
getDataSourceTables() DataSourceTable[] Получает все таблицы источников данных, пересекающие диапазон.
getDataSourceUrl() String Возвращает URL-адрес данных в этом диапазоне, который можно использовать для создания диаграмм и запросов.
getDataTable() DataTable Верните данные внутри этого объекта в виде DataTable.
getDataTable(firstRowIsHeader) DataTable Верните данные внутри этого диапазона в виде 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 Возвращает идентификатор сетки родительского листа диапазона.
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 Возвращает значение форматированного текста для верхней левой ячейки диапазона или null , если значение ячейки не является текстом.
getRichTextValues() RichTextValue[][] Возвращает значения форматированного текста для ячеек в диапазоне.
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 Устанавливает семейство шрифтов, например «Arial» или «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 Устанавливает значение форматированного текста для ячеек в диапазоне.
setRichTextValues(values) Range Устанавливает прямоугольную сетку значений форматированного текста.
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 Обрезает пробелы (например, пробелы, табуляции или новые строки) в каждой ячейке в этом диапазоне.
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());

Параметры

Имя Тип Описание
key String Ключ для новых метаданных разработчика.

Возвращаться

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());

Параметры

Имя Тип Описание
key String Ключ для новых метаданных разработчика.
visibility DeveloperMetadataVisibility Видимость новых метаданных разработчика.

Возвращаться

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());

Параметры

Имя Тип Описание
key String Ключ для новых метаданных разработчика.
value String Значение новых метаданных разработчика.

Возвращаться

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());

Параметры

Имя Тип Описание
key String Ключ для новых метаданных разработчика.
value String Значение новых метаданных разработчика.
visibility DeveloperMetadataVisibility Видимость новых метаданных разработчика.

Возвращаться

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());

Параметры

Имя Тип Описание
bandingTheme BandingTheme Цветовая тема, применяемая к столбцам в диапазоне.

Возвращаться

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());

Параметры

Имя Тип Описание
bandingTheme BandingTheme Цветовая тема, применяемая к столбцам в диапазоне.
showHeader Boolean Если true , цвет заголовка темы полосы применяется к первому столбцу.
showFooter Boolean Если 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);

Параметры

Имя Тип Описание
bandingTheme BandingTheme Цветовая тема, применяемая к строкам в диапазоне.

Возвращаться

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);

Параметры

Имя Тип Описание
bandingTheme BandingTheme Цветовая тема, применяемая к строкам в диапазоне.
showHeader Boolean Если true , цвет заголовка темы полосирования применяется к первой строке.
showFooter Boolean Если 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);

Параметры

Имя Тип Описание
destination Range Диапазон, который будет автоматически заполнен значениями. Диапазон назначения должен содержать этот диапазон и расширять его только в одном направлении (вверх, вниз, влево или вправо).
series AutoFillSeries Тип серии автозаполнения, которая должна использоваться для расчета новых значений. Эффект этого ряда различается в зависимости от типа и объема исходных данных.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

autoFillToNeighbor(series)

Вычисляет диапазон для заполнения новыми данными на основе соседних ячеек и автоматически заполняет этот диапазон новыми значениями на основе данных, содержащихся в этом диапазоне. Эти новые значения также определяются указанным типом series .

Вычисленный диапазон назначения учитывает окружающие данные, чтобы определить, куда следует вставить новые значения: если есть данные непосредственно слева или справа от столбца, который автоматически заполняется, новые значения распространяются только до этих соседних данных.

Например, если A1:A20 заполнен серией возрастающих чисел и этот метод вызывается для диапазона B1:B4 , который содержит серию дат, новые значения вставляются только в B5:B20 . Таким образом, эти новые значения «прилипают» к ячейкам, содержащим значения в столбце A.

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);

Параметры

Имя Тип Описание
series AutoFillSeries Тип серии автозаполнения, которая должна использоваться для расчета новых значений. Эффект этого ряда различается в зависимости от типа и объема исходных данных.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

  • 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());

Возвращаться

Booleantrue , если у пользователя есть разрешение на редактирование каждой ячейки диапазона; 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});

Параметры

Имя Тип Описание
options Object Объект JavaScript, задающий дополнительные параметры, как указано ниже.

Расширенные параметры

Имя Тип Описание
commentsOnly Boolean Очистить ли только комментарии.
contentsOnly Boolean Очищать ли только содержимое.
formatOnly Boolean Очистить ли только формат; Обратите внимание, что очистка формата также очищает правила проверки данных.
validationsOnly Boolean Следует ли очищать только правила проверки данных.
skipFilteredRows Boolean Следует ли избегать очистки отфильтрованных строк.

Возвращаться

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)

Скопируйте форматирование диапазона в указанное место. Если место назначения больше или меньше исходного диапазона, то источник соответственно повторяется или усекается. Обратите внимание, что этот метод копирует только форматирование.

Подробное описание параметраgridId см. в 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);

Параметры

Имя Тип Описание
gridId Integer Уникальный идентификатор листа в электронной таблице, независимо от его положения.
column Integer Первый столбец целевого диапазона.
columnEnd Integer Конечный столбец целевого диапазона.
row Integer Начальная строка целевого диапазона.
rowEnd Integer Конечная строка целевого диапазона.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

  • 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);

Параметры

Имя Тип Описание
sheet Sheet Целевой лист.
column Integer Первый столбец целевого диапазона.
columnEnd Integer Конечный столбец целевого диапазона.
row Integer Начальная строка целевого диапазона.
rowEnd Integer Конечная строка целевого диапазона.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

  • 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));

Параметры

Имя Тип Описание
destination Range Диапазон назначения для копирования; важна только позиция верхней левой ячейки.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

  • 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);

Параметры

Имя Тип Описание
destination Range Диапазон назначения для копирования; важна только позиция верхней левой ячейки.
copyPasteType CopyPasteType Тип, указывающий, как содержимое диапазона вставляется в место назначения.
transposed Boolean Следует ли вставлять диапазон в транспонированной ориентации.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

  • 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});

Параметры

Имя Тип Описание
destination Range Диапазон назначения для копирования; важна только позиция верхней левой ячейки.
options Object Объект JavaScript, задающий дополнительные параметры, как указано ниже.

Расширенные параметры

Имя Тип Описание
formatOnly Boolean означает, что следует копировать только формат
contentsOnly Boolean обозначает, что следует копировать только содержимое

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

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

Скопируйте содержимое диапазона в указанное место. Если место назначения больше или меньше исходного диапазона, то источник соответственно повторяется или усекается.

Подробное описание параметраgridId см. в 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);

Параметры

Имя Тип Описание
gridId Integer Уникальный идентификатор листа в электронной таблице, независимо от его положения.
column Integer Первый столбец целевого диапазона.
columnEnd Integer Конечный столбец целевого диапазона.
row Integer Начальная строка целевого диапазона.
rowEnd Integer Конечная строка целевого диапазона.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

  • 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);

Параметры

Имя Тип Описание
sheet Sheet Целевой лист.
column Integer Первый столбец целевого диапазона.
columnEnd Integer Конечный столбец целевого диапазона.
row Integer Начальная строка целевого диапазона.
rowEnd Integer Конечная строка целевого диапазона.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

  • 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());

Параметры

Имя Тип Описание
dataSource DataSource Источник данных, на основе которого создается сводная таблица.

Возвращаться

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);

Параметры

Имя Тип Описание
dataSource DataSource Источник данных, на основе которого создается сводная таблица.

Возвращаться

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());

Параметры

Имя Тип Описание
sourceData Range Данные для создания сводной таблицы.

Возвращаться

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');

Параметры

Имя Тип Описание
findText String Текст для поиска.

Возвращаться

TextFinderTextFinder для диапазона


deleteCells(shiftDimension)

Удаляет этот диапазон ячеек. Существующие данные на листе по указанному измерению смещаются в сторону удаленного диапазона.

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

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

Параметры

Имя Тип Описание
shiftDimension Dimension Измерение, по которому можно сместить существующие данные.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

expandGroups()

Разворачивает свернутые группы, диапазон которых или переключатель управления пересекаются с этим диапазоном. Местоположение переключателя управления — это индекс, по которому отображается переключатель управления, непосредственно до или после группы в зависимости от настроек. Если в одном месте находится более одной группы, расширяется самая мелкая группа.

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[][] — двумерный массив цветов фона.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

  • 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[][] — Двумерный массив цветовых кодов фона.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

  • 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());

Параметры

Имя Тип Описание
row Integer Строка ячейки относительно диапазона.
column Integer Столбец ячейки относительно диапазона.

Возвращаться

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.UP и Direction.DOWN , если указанное измерение — Dimension.ROWS , или Direction.NEXT и Direction.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());

Параметры

Имя Тип Описание
dimension Dimension Измерение, по которому можно расширить диапазон.

Возвращаться

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);

Возвращаться

DataSourceFormulaDataSourceFormula для ячейки.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

  • 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 s.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

  • 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()

Возвращает URL-адрес данных в этом диапазоне, который можно использовать для создания диаграмм и запросов.

Код.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();
}

диаграмма.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 — URL-адрес этого диапазона в качестве источника данных, который можно передавать в другие 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)

Верните данные внутри этого диапазона в виде DataTable.

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();

Параметры

Имя Тип Описание
firstRowIsHeader Boolean Считать ли первую строку заголовком.

Возвращаться

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</