【问题标题】:how to get deleteSheet to work for complex sheet names如何让 deleteSheet 为复杂的工作表名称工作
【发布时间】:2019-07-03 22:16:53
【问题描述】:

我有一个 Google 插件,可以管理 Google 电子表格中的几张工作表。它所做的一件事是根据日期删除工作表,这是它删除的工作表的名称。在我当前的开发阶段,我还添加了删除包含日期和另一个术语的工作表的功能,例如,特别是 "script 6/5/2019"

我使用的代码与以日期命名的工作表相同,并对其进行了一些调整,但在删除工作表时会返回错误:"Cannot find method deleteSheet(string)"

 if(sRemove==true) {
  SpreadsheetApp.getActiveSpreadsheet().toast('Finding Old Scripts', 'Status',3);
    for (var i = ss.getNumSheets()-1; i >= 0; i--) {
    
        var thisTab = ss.getSheets()[i].getName();
        if(thisTab.substr(0,6) =="script") {
        Logger.log(i+" "+thisTab+" is a script");
        var tabDate = new Date(thisTab.substr(8)); 
        //8 is the first digit of the date
        Logger.log(tabDate);
        var thisDate = new Date(todayDate);
  
        var patt = new RegExp("s");
        var res = patt.test(thisTab);
        Logger.log(i+" "+res);

        if(tabDate<thisDate && res==true) { 
           var ss = SpreadsheetApp.getActiveSpreadsheet();
           //ss.setActiveSheet(ss.getSheetByName(thisTab));
           //ss.deleteActiveSheet(ss.getSheetByName(thisTab));   
           Logger.log(thisTab);
           ss.deleteSheet(thisTab);
           tabsGone++;
        }
     }
  }
  ui.alert(tabsGone+" Sheets Removed");
  }

Logger.log返回要删除的工作表的正确名称,但删除工作表返回错误"Cannot find method deleteSheet(string)"

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    要求:

    根据名称删除工作表。


    解决办法:

    使用getSheetByName() 获取工作表对象,然后将其传递给您的deleteSheet()

    ss.deleteSheet(ss.getSheetByName(thisTab));
    

    说明:

    当前您将字符串 thisTab 传递给 deleteSheet(),这将不起作用,因为它需要一个工作表对象,而不是字符串。只要您上面的代码工作正常并且thisTab 与您的工作表名称完全匹配,您只需调用getSheetByName(thisTab) 来获取工作表对象,然后将其传递给deleteSheet()


    参考资料:

    1. getSheetByName(string)
    2. deleteSheet(sheet)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-19
      • 1970-01-01
      • 2019-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多