【问题标题】:Run only in a particular sheet specified by name仅在名称指定的特定工作表中运行
【发布时间】:2022-04-14 00:36:25
【问题描述】:

当他们编辑该行中的值时,我正在尝试在指定单元格中自动填充编辑者的姓名或电子邮件。

为什么因为,如果 N' 人共享一张工作表,并且有多个用户将输入数据。在那种情况下,我需要知道特定数据是由谁输入的。

我编写了一个 Google 应用程序脚本,但它适用于所有工作表。我需要它只在名为“Purchase”的特定工作表中运行。

function onEdit(e) 
{ 
  var editedRange = e.range; 
  if ( editedRange.getColumn()==1 ) 
  { // if column A was edited 
    var u = Session.getActiveUser().getEmail(); 
    editedRange.offset(0, 13).setValue(u); // write user's email to corresponding row in column N 
  } 
};

我的工作表会是这样的。

【问题讨论】:

    标签: google-apps-script google-sheets triggers google-apps


    【解决方案1】:

    向您的IF 添加第二个参数以检查工作表名称

     if ( editedRange.getColumn()==1 && e.source.getActiveSheet().getName() == "Purchase";
    

    这将返回 true IF 编辑的单元格位于第 1 列,并且 (&&) 活动工作表名为“Purchase”

    【讨论】:

    • 先生。詹姆斯唐纳兰,谢谢。仅当我使用此脚本时,我的电子邮件才会打印在相应的单元格中。如果同一工作表由另一个共享用户编辑,则脚本不起作用。你能澄清一下吗?
    • 您需要使用已安装的触发器。请参阅我的回答here 这是关于 onSubmit 触发器,但只需将 onSubmit 更改为 onEdit 就可以了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-17
    相关资源
    最近更新 更多