【问题标题】:Google Appscript update specific sheetGoogle Appscript 更新特定工作表
【发布时间】:2016-02-16 00:13:44
【问题描述】:

有点脑残,所以来 StackOverflow 寻求一些指导。

我目前有一个脚本,用于记录组日历中的日历事件并将它们提取到 Google 电子表格中,这样我就可以使用它们来发挥其他作用。

目前,它使用:

var sheet = SpreadsheetApp.getActiveSheet();

而且效果很好,但是由于我打算添加更多工作表并且我只希望这张表更新/插入数据,因此我需要更改 .getActiveSheet() 部分。我曾尝试过.getSheetName('name of sheet'),但这又出现了问题。有谁可以帮我离开这里吗?我敢肯定这是我忽略的简单事情。但我就是不能指望它!

非常感谢~

【问题讨论】:

  • getSheetName() 方法返回一个字符串,即工作表名称。您需要使用getSheetByName(name)。始终查看该方法返回的数据类型。您需要返回 sheet,而不是字符串。
  • 啊,好地方。万分感谢!并不是说我已经更接近于弄清楚如何解决这个困境。但至少我现在知道为什么它不起作用了:)
  • 啊哈!弄清楚了。非常感谢桑迪向我指出这一点,非常感谢。

标签: google-apps-script google-sheets


【解决方案1】:

非常感谢 Sandy 指出了对我来说显而易见的事情!

要引用电子表格中的某个工作表,请使用以下命令:

var ss = SpreadsheetApp.openById("sheet key")
var sheet = ss.getSheetByName('Sheet Name');

【讨论】:

    【解决方案2】:

    您还可以通过工作表索引号引用工作表:

    var ss = SpreadsheetApp.getActiveSpreadsheet();
    // or .openById('key');
    
    var sheet = ss.Sheets()[i];    
    // i = index number
    
    var name = sheet.getName();
    

    如果您动态更改工作表名称(例如,当您插入、复制、重命名或删除工作表时),这在某些情况下非常有用。

    【讨论】:

      猜你喜欢
      • 2020-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-19
      • 1970-01-01
      • 2017-02-02
      • 2020-10-14
      • 1970-01-01
      相关资源
      最近更新 更多