5 способов вставить лист в начало активных листов в скрипте Google

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 Таблицах.