当前位置: 首页 > 知识库问答 >
问题:

谷歌电子表格,从多个电子表格中删除表格

齐建安
2023-03-14

我正在尝试从多个google电子表格中删除一个特定的表格。

我有一个主电子表格,从所有其他电子表格收集数据。从主电子表格中,我可以在其他电子表格中执行不同类型的操作,如添加工作表、重命名工作表、隐藏和锁定工作表。

但无法删除其他电子表格中的表格。查看了其他线程,但找不到任何解决方法。

这就是我到目前为止得到的。它停在这一排:

"fname.delete表(本周);}"

    function DeleteSheet() {

  var sss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = sss.getActiveSheet();

  var range = sheet.getRange("Z1:Z").getValues();
  var filtered_r = range.filter(String).length;    
  var range = SpreadsheetApp.getActiveSheet().getRange('Z2:Z'+filtered_r);
  var numRows = range.getNumRows();
  var numCols = range.getNumColumns();
  for (var i = 1; i <= numRows; i++) {
    for (var j = 1; j <= numCols; j++) {

      //Get current file ID in column Z
      var currentValue = range.getCell(i,j).getValue();

  var currentweekneedstobedefined = SpreadsheetApp.getActiveSheet().getRange(1, 3);
  var thisweek = currentweekneedstobedefined.getValue();
      ss = SpreadsheetApp.openById(currentValue); 
  var dsheet = ss.getSheetByName(thisweek);
     file = ss 
  var fname = file.getName();
  var thisweeksSheet = file.getSheetByName(thisweek);    

    if (dsheet != null) {
    fname.deleteSheet(thisweek);}

 else {

    }
   }
  }
}

我很感谢大家对我的帮助,因为我是一个编程新手。

共有1个答案

郗丰
2023-03-14

>

要删除工作表,需要电子表格实例本身:ss

修改

      ss = SpreadsheetApp.openById(currentValue); 
  var dsheet = ss.getSheetByName(thisweek);
     file = ss 
  var fname = file.getName();
  var thisweeksSheet = file.getSheetByName(thisweek);    

    if (dsheet != null) {
    fname.deleteSheet(thisweek);}

  ss = SpreadsheetApp.openById(currentValue); 
  var dsheet = ss.getSheetByName(thisweek);
  if (dsheet != null) {
    ss.deleteSheet(dsheet);
    }
 类似资料:
  • 我是谷歌脚本的新手,不知道是否有人能帮我。 我有一个共享的谷歌电子表格,基本上是用新的员工信息更新行。 我希望只有当插入这些新员工行时,特定列(比如F列)上的“ABC”字符串匹配时,才会触发电子邮件。基本上,电子邮件触发器会让我们的团队知道如何设置新的员工帐户。 有人能帮我吗?我不知道如何进行字符串匹配,也不知道如何让它专门发送给固定的电子邮件收件人。我已经安装了Python、gspread和gd

  • 试图复制整个电子表格,但我想没有api可以这样做。 基本上,我正在尝试做以下工作: 有一个电子表格,我想对其进行小的更改。 创建一个新的电子表格,将模板中的所有表格逐个复制到新的电子表格中(电子表格复制会更有效率) 创建新的电子表格工作正常,但从电子表格复制表格不起作用。 尝试了两种方法: 角: 给出以下错误: 对飞行前请求的响应未通过访问控制检查:无“访问控制允许原点” Google Sheet

  • B页中有图表,其中有源数据。我想以这样一种方式将图表导入到主电子表格B中,当图表在表格B中更改时,它也应该在主表格A中动态更改。 经过大量的研究,我能够找到以下内容: Importrange-只导入数据,而不是图表 复制图表本身并将其粘贴到主工作表A,但当图表在工作表B中动态变化时,它不会更改。 发布图表并将URL作为图像插入-如果主表A是google电子表格,则不起作用,但适用于google文档

  • 可编辑链接-https://docs.google.com/spreadsheets/d/1vrzchTHVwwzc9wgFGmtc_zBsh27CEtE7KOyeNDuLwC0/edit?usp=sharing 发布至网页-https://docs.google.com/spreadsheets/d/e/2PACX-1vRaJd3YpKnemAneU47RI58m7cxQsYFdViFBxJPV

  • 我正在尝试将表单数据发布到google电子表格中。当前,如果表单已验证,则会发生以下情况: 我使用了成功设置来验证我的表单数据是否被正确序列化(它是),以及是否成功。然而,我的谷歌电子表格没有更新(没有数据通过)。我在这里使用了示例代码,将doGet更改为doPost(http://mashe.hawksey.info/2011/10/google-spreadsheets-as-a-databa

  • 我正在阅读Java快速入门中描述的谷歌电子表格 https://developers.google.com/sheets/quickstart/java 快速入门说明了如何从给定范围读取数据 如你所见,我从回复中读取了双重值 我希望双值的专用格式(例如,12,34而不是12.34) 我是否可以将期望的数字格式作为参数传递给请求?比如: 问候 迈克尔