【问题标题】:Run Same Delete Row Script in Multiple Sheets in Google Sheets在 Google 表格的多个表格中运行相同的删除行脚本
【发布时间】:2017-08-22 00:40:53
【问题描述】:

在 Google 表格中,我找到并编辑了允许我在指定列中的单元格值为 0 或空白时删除行的代码。我想在电子表格的 4 张工作表中的 2 张上运行相同的任务。如何编辑代码以使其同时在多个工作表中运行。两张纸不相关,但我对其进行了结构化,因此将在两张纸中搜索同一列以查找 0。

function readRows() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var rows = sheet.getDataRange();
  var numRows = rows.getNumRows();
  var values = rows.getValues();

  var rowsDeleted = 0;
  for (var i = 0; i <= numRows - 1; i++) {
    var row = values[i];
    if (row[4] == 0 || row[4] == '') {
      sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
      rowsDeleted++;
    }
  }
};

【问题讨论】:

  • 有一种方法可以让服务器代码的多个实例同时运行,但是你需要从边栏或对话框中用google.script.run.functionName()触发它google.script.run这个东西叫做“客户端侧 API。”您不能使服务器中的代码从服务器运行多个函数实例。 区别在于它是从客户端触发还是从服务器触发。如果您真的不关心同时运行相同的功能,而只是希望它在不同的工作表选项卡上工作,则可以按名称获取工作表选项卡。 ss.getSheetByName()

标签: google-apps-script google-sheets


【解决方案1】:

Class SpreadsheetApp getActiveSheet() 返回一个工作表。要获取电子表格的所有工作表,请使用 Class Spreadsheet getSheets(),要仅获取某些工作表,请使用 Class Spreadsheet getSheetByName(name)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-11
    • 2020-07-08
    • 2016-10-21
    • 2023-03-28
    • 1970-01-01
    • 2021-10-18
    • 2022-01-09
    • 1970-01-01
    相关资源
    最近更新 更多