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

使onEdit仅在电子表格中的一个工作表上工作

葛深
2023-03-14

我有一个用于Google Sheets的“onEdit”脚本,但只希望它在一张工作表上工作:

    function onEdit(event)
{
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SpreadsheetApp.getActiveSheet();
  var CellRow = SpreadsheetApp.getActiveRange().getRow();
  var CellColumn = SpreadsheetApp.getActiveRange().getColumn();

  if (CellColumn == 2 && CellRow == 3){
    sheet.getRange(CellRow, CellColumn).setFormula( "=ArrayFormula(QUERY(ImportRange(\"0AmH7M5970cwZdHFRa3NITkdBSFhxd3JzYUZwbFRId3c\";\"Table!B2:J200\");\"select Col1 where Col1 = \'\"&$K$13&\"\' limit 1\"))");
    Browser.msgBox("DON'T MESS WITH THE FORMULAS!");
  }
  }

如何更改脚本,使其仅在工作表中的一张工作表上工作?

共有1个答案

能正青
2023-03-14
function onEdit(event){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SpreadsheetApp.getActiveSheet();
  var CellRow = SpreadsheetApp.getActiveRange().getRow();
  var CellColumn = SpreadsheetApp.getActiveRange().getColumn();

  if (sheet.GetSheetName() == "MYSHEETNAME"){
    if (CellColumn == 2 && CellRow == 3){
    sheet.getRange(CellRow, CellColumn).setFormula( "=ArrayFormula(QUERY(ImportRange(\"0AmH7M5970cwZdHFRa3NITkdBSFhxd3JzYUZwbFRId3c\";\"Table!B2:J200\");\"select Col1 where Col1 = \'\"&$K$13&\"\' limit 1\"))");
    Browser.msgBox("DON'T MESS WITH THE FORMULAS!");
    }
  }
}

MYSHEETNAME更改为要onedit工作的工作表的名称。

 类似资料:
  • 我很难找到关于如何设置onEdit触发器的好资源。我有一个只想在编辑特定工作表时运行的函数。例如,假设我有表1、表2、表3、表4、表5。我的脚本从工作表2、3、4中提取数据并填充工作表1。我只希望在有人编辑工作表2、3或4时运行脚本。如何设置此触发器?

  • 我在脚本中有一个暂停/暂停,我已经工作了几个星期了。我是个新手,所以需要很多研究和帮助。现在脚本可以正常工作了,但是我想使用GoogleSheets专门与其他帐户共享这些表单。其想法是,一台计算机作为主机,只需将数据收集表整理好即可。另一台计算机将具有客户端,我们称之为客户端,通过C列中的下拉菜单单击位置或在C列中键入位置。只有在活动工作表上编辑C列时,OneEdit功能才会激活。(客户机使用的工

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

  • 我想使“onedit”仅在值已更改的工作表上工作。 [sheet1]如果在第7列中输入值,则需要在[sheet1]第6列中写入时间 或[sheet2]如果在第7列中输入值,则希望在[sheet2]第6列中写入时间。 不要在[sheet5]上工作。 但是时间也出现在我不想要的[表2]和[表3]中。 请帮帮我。

  • 我有一个谷歌电子表格,其中有3张表格,包含来自不同国家的数据(,,),还有第4张表格()。所有图纸中的列都相同。 我已经知道我可以这样组合它们: 然而,我需要一种方法将任意数量的纸张组合在一起,而不需要修改公式。所以,如果添加了Country4,也应该追加。我怎么能那样做? 如果有帮助,我有一个工作表,其中有一列包含所有国家的名称(因此也包括国家工作表名称)。我有一个脚本,如果在工作表中添加了一个

  • 查看GoogleSheetsAPI,似乎很容易将行附加到现有的电子表格(这里有文档记录)。 我不知道如何做的是在包含多个工作表的电子表格中的特定工作表中追加一行。工作表似乎有自己的ID(这里记录了),但是追加操作调用了一个。附加到包含多个工作表的电子表格似乎总是附加到电子表格中当前的“第一个”工作表。 有人知道如何使用API/SDK请求将行附加到特定工作表中吗?