簡體   English   中英

如何按名稱查找工作表並通過 Google Script 將其刪除?

[英]How can I find a sheet by name and delete it via Google Script?

我有一本工作簿,里面有很多張紙,每張紙都以某人的姓氏命名。 前任。 瓊斯、史密斯和威廉姆斯各有一張床單。

我編寫了一個腳本,並根據我在運行腳本時輸入此人姓名的提示,我想在我的工作簿中刪除他們的工作表。 使用當前的腳本,運行時出現錯誤。

有什么幫助嗎?

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

}

1) 您嘗試查找只有姓氏的工作表; 我會假設有員工記錄,他們的名字也在那里? 假設工作表以“姓氏,名字”格式命名,您可以使用/調整以下內容:

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

2) deleteSheet() ) 的文檔顯示它是Speadsheet對象的函數,而不是Sheet對象,您需要傳入 sheet 對象。 所以你必須這樣稱呼它:

SpreadsheetApp.getActiveSpreadsheet().deleteSheet(Source);
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)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM