Как найти лист по имени и удалить его с помощью Google Script? - PullRequest
0 голосов
/ 09 января 2020

У меня есть рабочая тетрадь с множеством листов, каждая из которых называется чьей-то фамилией. Ex. У Джоунса, Смита и Уильямса есть лист.

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

Любая помощь?

function DeleteEmployee() {
//Enter employee's name
 var Sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Daily Overview")
 var ui = SpreadsheetApp.getUi();
 var response = ui.prompt('First Name', 'Please enter the first name of the employee', ui.ButtonSet.OK_CANCEL);
 var FirstName = response.getResponseText();

 var ui2 = SpreadsheetApp.getUi();
 var response2 = ui2.prompt('Last Name', 'Please enter the last name of the employee', ui.ButtonSet.OK_CANCEL);
 var LastName = response2.getResponseText();

  //Deletes the employee's sheet 
 var Source = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(LastName).deleteActiveSheet();

}

Ответы [ 2 ]

1 голос
/ 09 января 2020

1) Вы пытаетесь найти лист только с фамилией; Я бы предположил, с записями сотрудников, их имя также там? Предполагая, что листы названы в формате «Фамилия, Имя» , вы можете использовать / настроить следующее:

var Source = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(LastName + ", " + FirstName);

2) Документация для deleteSheet() показывает что это функция объекта Speadsheet, а не объекта Sheet, и вам необходимо передать объект листа. Так что вы должны назвать это так:

SpreadsheetApp.getActiveSpreadsheet().deleteSheet(Source);
0 голосов
/ 09 января 2020
function DeleteEmployee() {
 var ss=SpreadsheetApp.getActive();
 var sh=ss.getSheetByName("Daily Overview")
 var ui=SpreadsheetApp.getUi();
 var response=ui.prompt('First Name', 'Please enter the first name of the employee', ui.ButtonSet.OK);
 var FirstName=response.getResponseText();
 response=ui.prompt('Last Name', 'Please enter the last name of the employee', ui.ButtonSet.OK);
 var LastName=response.getResponseText();
 var sheet=ss.getSheetByName(LastName);
 ss.deleteSheet(sheet)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...