Google Apps Script предоставляет мощный набор инструментов для автоматизации задач и расширения функциональности Google Таблиц. Одной из распространенных задач является вставка нового листа в начало активных листов. В этой статье мы рассмотрим пять различных методов достижения этой цели с помощью Google Script, а также примеры кода. Давайте погрузимся!
Метод 1: использование метода InsertSheet()
Метод InsertSheet() — это встроенная функция в Google Apps Script, которая позволяет нам вставлять новый лист в указанное место. Чтобы вставить лист в начало активных листов, мы можем использовать следующий код:
function insertSheetAtBeginning() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.insertSheet(0);
sheet.setName("New Sheet");
}
Метод 2: использование методов getSheets() иshiftSheetsDown().
Другой подход заключается в том, чтобы получить все листы в электронной таблице, сдвинуть их на одну позицию вниз, а затем вставить новый лист по первому индексу. Вот пример:
function insertSheetAtBeginning() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheets = spreadsheet.getSheets();
for (var i = sheets.length - 1; i >= 0; i--) {
sheets[i].shiftSheetsDown();
}
var sheet = spreadsheet.insertSheet(0);
sheet.setName("New Sheet");
}
Метод 3: использование методов copyTo() и InsertSheet().
В этом подходе мы можем создать новый лист, скопировав существующий лист, а затем вставив его в начало. Вот как это можно сделать:
function insertSheetAtBeginning() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sourceSheet = spreadsheet.getSheets()[0];
var sheet = sourceSheet.copyTo(spreadsheet);
spreadsheet.setActiveSheet(sheet);
spreadsheet.moveActiveSheet(0);
sheet.setName("New Sheet");
}
Метод 4: использование метода InsertSheetWithDataSourceTable()
Если вы хотите вставить лист с таблицей источника данных в начале, вы можете использовать метод InsertSheetWithDataSourceTable(). Вот пример:
function insertSheetWithDataSourceTableAtBeginning() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.insertSheetWithDataSourceTable(0);
sheet.setName("New Sheet");
}
Метод 5. Использование метода пакетного обновления().
Метод пакетного обновления() позволяет нам выполнять несколько операций с электронной таблицей за один запрос. Мы можем использовать его для вставки листа в начало. Вот пример:
function insertSheetAtBeginning() {
var spreadsheetId = SpreadsheetApp.getActiveSpreadsheet().getId();
var requests = [
{
"insertSheet": {
"properties": {
"title": "New Sheet",
"index": 0
}
}
}
];
Sheets.Spreadsheets.batchUpdate({ requests: requests }, spreadsheetId);
}
В этой статье мы рассмотрели пять различных способов вставки листа в начало активных листов в Google Script. Каждый метод предлагает свой уникальный подход, и вы можете выбрать тот, который лучше всего соответствует вашим требованиям. Автоматизируя процесс с помощью этих примеров кода, вы сможете сэкономить время и оптимизировать рабочий процесс в Google Таблицах.