@Clif1986

Как скопировать страницу слева, справа от шаблона скриптом в Google sheets?

При нажатии кнопки копируется страница с помощью скрипта:

sheet2 = sheet.copyTo(ss).setName(sheet2.getResponseText());


Но этот лист добавляется в самый конец всех листов, что неудобно (особенно если их 30+). Можно как то сделать чтобы лист создавался слева или справа от скопированного листа.... или на крайний случай 1м листом?
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Sheets
Google Products Expert
Листы не перемещаются в Таблице. Их необходимо активировать.

{
  const sheet2 = sheet.copyTo(ss).setName(sheet2.getResponseText());
  sheet2.activate();
  ss.moveActiveSheet(1);
}


Скопировать и поставить слева

function muFunction() {
  const ui = SpreadsheetApp.getUi();
  const book = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = book.getSheetByName('Шаблон');
  const prompt = ui.prompt('New Sheet Name?');
  if (prompt.getResponseText()) {
    const copy = sheet.copyTo(book).setName(prompt.getResponseText());
    copy.activate();
    book.moveActiveSheet(sheet.getIndex());
  }
}


Поставить справа

book.moveActiveSheet(sheet.getIndex()+1);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
shebanits
@shebanits
function copyTo() {
  let ss = SpreadsheetApp.getActiveSpreadsheet();
  let ws = ss.getActiveSheet();
  // по умолчанию копирует справа от активного листа, при -1 слева.
   ss.insertSheet("Тест", ws.getIndex());
  //  ss.insertSheet("Тест", ws.getIndex() - 1);
   SpreadsheetApp.flush();
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы