onEdit 简单触发器似乎永远不会被触发

2024-04-16

我一直在使用OnEdit一段时间以来,它一直工作得很好 - 但是现在我遇到了一个问题 - 基本上当编辑第 6 列(f)时,我希望它检查该值 - 如果它是“正在进行”,我希望它然后运行一个函数发送电子邮件,当我调试它时 - 它完全按照我想要的方式工作,但是当我不调试时它似乎永远不会运行。

var summary = ss.getSheetByName("Summary")
var data = summary.getRange(4, 1, summary.getLastRow(), summary.getLastColumn());
var learnerObjects = getRowsData(summary, data);
var lastrow = summary.getLastRow();

function onEdit(e){
  var sheet = e.source.getActiveSheet();
  var CellRow = sheet.getActiveRange().getRow();
  var CellColumn = sheet.getActiveRange().getColumn();

  if (sheet.getSheetName() == "Summary"){
    if (CellColumn == 6){
      var learner = learnerObjects[CellRow-4];
      var status = learner.status;
      if (status == "In Progress"){
        var enrolmentdate = learner.enrolmentDateDdmmyyyy;
        var surname = learner.surname;
        var firstname = learner.firstName;
        var qualification = learner.qualification;
        var company = learner.company;
        messagePT3 = firstname + " " + surname + " from " + company + " doing " + qualification + " has been added to your tracker.";
        sendTrackerEmail(messagePT3);
        SpreadsheetApp.getActiveSpreadsheet().toast('Email has been sent to Assessor regarding new learner', 'Assessor Notified', 3);
      }
    }
  }
}

这是它的主要代码,当我说调试时它工作正常,但是当我不调试时它似乎永远不会被触发,我还有其他方法可以做到这一点吗?

我在 F 列上进行了数据验证,但这将单元格限制为“已完成”、“撤回”、“暂停”或“进行中” - 这不应该产生影响,不是吗?

我知道onEdit当我使用它来监视电子表格某些部分的更改时,将被触发。


The onEdit()触发器是所谓的“简单触发器”,其作用范围有限。 由于它在活动用户的授权下自动且静默地运行,因此它无法执行任何需要授权的操作,例如它无法发送电子邮件!

解决方案很简单:将函数名称更改为其他名称(例如 myOnEdit)并设置可安装的 onEdit 触发器来运行该函数。(菜单资源/当前脚本触发器/在脚本编辑器中创建新触发器。)

这次,当有人编辑电子表格时,它将像您一样执行(您将发送电子邮件)。

关于该主题的文档是可以在这里找到 https://developers.google.com/apps-script/understanding_triggers#Simple.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

onEdit 简单触发器似乎永远不会被触发 的相关文章

  • Google Apps 脚本无法从托管的 GAS 转换为特定的云项目

    我有一个 GAS 管理的项目 我想将其转换为特定的谷歌标准云项目 我有身份证 我将其输入到资源 云托管项目中 然后得到 项目不存在 或者您需要对其进行编辑访问 它确实存在 并且我拥有权限 因为我是所有者 该错误有些误导性 我花了一段时间才弄
  • 未记录的 Sheet API 限制问题

    我已经看过人们遇到类似问题的帖子 但找不到明确的答案 我尝试使用以下代码行检索 264735 个插槽的二维数组 var optionalArguments majorDimension ROWS valueRenderOption FORM
  • .setFormula() 并收到错误缺少 ) 参数列表

    I have setFormula 并坚持这一点 我认为问题在于逗号 在发布这个问题之前 我研究了几个在线论坛 但没有运气 也许这里有人可以帮助我 我确实知道使用的规则 and 这就是为什么我尝试了几个公式 但仍然收到错误消息 参数列表后缺
  • 将 Google Drive 目录中的所有文件恢复为旧版本

    最近 病毒加密了我的所有文件 不幸的是 谷歌备份和同步立即将文件的新版本 加密 上传到我的驱动器 我知道我可以将单个文件恢复到以前的版本 但我的驱动器上大约有 30 000 个文件 这意味着我无法手动恢复所有这些文件 我尝试使用 Apps
  • PostgreSQL 9.3 触发器函数插入带有参数化名称的表

    我正在尝试在 Postgres 中动态分区日志条目 我有 53 个子表 1 个代表每周的日志条目 并且希望使用触发器将 INSERT 路由到子表 我运行该函数INSERT INTO log5 VALUES NEW 并且它有效 我用以下命令运
  • 将 Google 工作表图表导出为图像

    请您帮助了解如何使用谷歌脚本将图表导出到图像 我写了这段代码 但它不起作用 我担心 APIgetAs已弃用 function TestEmailCharts var sheet SpreadsheetApp getActiveSheet v
  • 是否可以将 .gs 文件上传到复制的 Google 文档的应用程序脚本项目?

    我复制了一个电子表格供多人使用 并附加了脚本 我的问题是如何修改项目中的脚本 而不必将每个更改复制并粘贴到 gs项目中的文件 This is the base document from which the other versions w
  • 如何在 mysql 或 JDBC 的表中自动插入外键引用?

    我正在使用MySQL 我的问题是如何自动将新添加的行插入外键表中 一个例子可以澄清我的问题 我有两个表 员工 和 薪水 CREATE TABLE Employee emp id int NOT NULL AUTO INCREMENT nam
  • 如何在 Google 电子表格中使用 Google 脚本从相邻单元格获取值?

    如果之前有人问过这个问题 我深表歉意 但我已经寻找了一个例子 不幸的是我无法找到答案 因此我为什么在这里问 如果我在 Google 电子表格中有一个自定义函数 如果内容是动态生成的 我如何获取单元格的值 当它是固定值时我可以获取该值 但当它
  • 从 Gmail 获取 pdf 附件作为文本

    我在网络和 Stack Overflow 上搜索但没有找到解决方案 我尝试做的事情如下 我通过邮件收到某些附件 我希望将其作为 纯 文本进行进一步处理 我的脚本如下所示 function MyFunction var threads Gma
  • Google Apps 脚本:在电子邮件中发送 PDF 而不是 .zip 文件

    我有这段代码 可以从 Google 电子表格生成 PDF 文件并将其作为电子邮件附件发送 问题是它压缩文件const zipBlob Utilities zip blobs setName ss getName zip 我想更改它 以便附加
  • 当达到最小起订量时,如何重置 Google 表格中的运行总计?

    请提供数组公式 当达到最小起订量时 您可以帮助重置运行总计吗 这里最小起订量 15 当运行总计等于或大于 15 时 应重新启动 Date Value Desired 12 2022 6 6 01 2023 5 11 02 2023 4 15
  • WPF:在 DependencyProperty.UnsetValue 上触发

    在回答中这个问题 https stackoverflow com questions 2596847 wpf applying a trigger on binding failure作出以下声明 理论上 可能 触发 x Static De
  • 一起使用“过滤”和“排序”的 Google 表格

    这是我的第一个问题 我希望一切都好 我是使用谷歌表格的新手 但我正在慢慢进步 我正在尝试构建一个工作表 其中包含工作表 1 中的所有数据 在工作表 2 上 我想过滤工作表 2 中 D 列中标有数字 1 的所有数据 为此 我正在使用 FILT
  • Google Apps 脚本是否允许任何类型的内省?

    Google Apps 脚本可以学习自己的名称吗 或者它的ID 它可以获取其包含文件夹的 ID 吗 它可以了解它在文件夹层次结构中的位置吗 脚本 A 可以获取 设置脚本 B 的属性吗 脚本 A 可以编辑脚本 B 使用的库的任何方面吗 脚本
  • SQL Server:触发器如何读取插入、更新、删除的值

    我在一张表中有触发器并且想阅读UserId插入 更新或删除行时的值 怎么做 下面的代码不起作用 我收到错误UPDATED ALTER TRIGGER dbo UpdateUserCreditsLeft ON dbo Order AFTER
  • 将按钮添加到 Google 表格并在单击时为单元格设置值

    我是 Google 脚本的新手 我有一个包含 5 列的 Google 表格 在每一列上我需要一个按钮 带有文本1 2 3 4 5 在每个按钮上单击我需要将按钮文本设置为相应的单元格并隐藏单击的按钮 是否可以 您可以插入看起来像按钮的图像 然
  • 谷歌电子表格中的“MMMM yy”日期

    我有一个谷歌电子表格 其中我想要一个仅包含月份和年份名称的日期 例如September 2011 而且我还希望月份和年份能够轻松更改 有没有办法获得自定义日期格式来做到这一点 我发现我可以这样做 TEXT 40295 MMMM yy 但是日
  • 如何求Google电子表格中每列的最大值之和?

    我有一个谷歌数字电子表格 如何从每列中获取最大值 并仅使用one公式 没有临时单元 没有脚本 1 2 1 0 1 3 0 2 0 对于上表 结果应为 6 1 2 3 每列的最大值 但我想要一个也适用于更大的表的解决方案 作为一个更普遍的问题
  • 使用 jquery 事件 keydown 模拟在文本区域上输入不起作用

    我正在尝试制作 Facebook 自动回复消息脚本 这是我的代码 window load function var a setInterval function var e titlebarText html if e else texta

随机推荐

  • PHP 会话不工作

    我正在使用 wamp2 0 PHP 5 3 apache 2 2 11 但我的会话不存储数据 我有一个接受参数的页面 我想将其 简化版本 存储在会话中 所以当我来到 http www example com home php sessid
  • MigLayout 中的push、grow 和fill 有什么区别?

    我看到grow and push接受一个可选的权重参数 但除此之外 之间的真正区别是什么grow fill and push 文档对此不是很清楚 push据我所知 仅影响间隙 而不影响元素 如果一个组件设置为fill 这意味着设置所有子组件
  • 如何在 Linux 中获取 Apache 的“每秒请求数”?

    在 Windows for ASP 中 您可以获得 perfmon 但是 如何获得 每秒请求数 Linux 下的 Apache 这是我编写的一个简短的 bash 脚本 用于对请求率进行采样 基于迪克塞的建议 https stackoverf
  • RCTBatchedBridge.m 错误:无效数据消息 - 全部长度必须为:%zd。 React Native,iOS 模拟器

    我在用着react native oauth并在尝试授权时收到此错误 请参见底部的红色图像 我搜索过并只找到这个类似的未回答的问题 https stackoverflow com questions 40905638 error inval
  • 为什么 WebBrowser Document Completed() 会触发两次?

    嗯 我正在使用一个简单的网络浏览器控件来浏览页面 因此我需要在执行此操作时更改表单的文本 我在用着 private void webBrowser1 DocumentCompleted object sender WebBrowserDoc
  • 用于基于 window.location.href 的条件 URL 附加或重定向的 Javascript

    我正在尝试制作一个书签 单击该书签时将检查当前选项卡 窗口的 URL 以查看它是否包含 char1 和 或 char2 给定字符 如果两个字符都存在 它将重定向到另一个 URL 对于另外两个字符 它将分别附加当前 URL 我相信一定有一种比
  • 安装到 {sys} 的文件/DLL 未出现在 C:\Windows\system32 中

    我不知道为什么 但是当我尝试将文件从安装目录复制到system32 尽管在 Inno Setup 中显示安装成功 但它未能执行此操作 这是我的代码 Files specifies what files will be included in
  • theta 表示法称为平均情况吗?

    有些书指出 theta 表示法称为平均情况 而另一些书则指出 theta 不是平均情况 如果 theta 不是平均情况 那么什么是算法的平均情况 O 和 符号实际上与算法的最佳 平均 最差情况无关 它们是表达函数渐近行为的方法 无论函数是什
  • AIR/Actionscript 中没有这样的表 SQLITE_SEQUENCE

    我正在尝试使用 AIR ActionScript Flex 4 5 重置 SQLITE 中自动增量字段的种子 我正在做通常应该有效的事情 DELETE FROM SQLITE SEQUENCE WHERE NAME myTable 我已经检
  • 从 C# 中的服务器下载后,Zip 文件被损坏

    request MakeConnection uri WebRequestMethods Ftp DownloadFile username password response FtpWebResponse request GetRespo
  • 具有 DOM 操作的自定义插件 CKEditor 4.x

    我正在为 CKEditor 4 7 开发一个自定义插件 它做了一个简单的思考 以防用户选择一些东西 它会将其放入具有特定类的 div 中 否则它将放入一个具有相同类的 div 其中包含文本 例如 在此处添加内容 我尝试根据 CKEditor
  • AVX 中的分散内在函数

    我在 Intel Intrinsic Guide v2 7 中找不到它们 您知道 AVX 或 AVX2 指令集是否支持它们吗 原始AVX指令集中没有分散或聚集指令 AVX2 添加了聚集指令 但没有添加分散指令 AVX512F 包括分散和聚集
  • Zend 调试器 Eclipse 启动错误:eclipse.php.debug.core 无法加载类 debug.core.model.PHPConditionalBreakpoint

    我在 Mac OSX Lion 上工作 自从安装了 Zend Debugger 并让它能够调试 php Web 应用程序后 我经常遇到这个 Eclipse 启动错误 扩展点创建扩展时出错 org eclipse php internal d
  • 交叉连接 2 个向量的元素以生成第三个向量

    我有 2 个向量 想要将一个向量分布到另一个向量上以形成第三个向量 例如 V1 a b c V2 d e f Result V3 ad ae af bd be bf cf nine total elements 我知道如何做到这一点的唯一方
  • 如何使用 .NET 2.0 捕获 using 块中的异常?

    这些天 当我有一个实现 IDisposable 的对象时 我尝试越来越多地利用 using 块 但我还没有弄清楚的一件事是如何像在正常的 try catch finally 中一样捕获异常 有任何代码示例可以为我指明正确的方向吗 编辑 阅读
  • 如何更改JavaFX中ListView的字体大小?

    我尝试了这个建议http forums sun com thread jspa threadID 5421037 http forums sun com thread jspa threadID 5421037但找不到风格 还有其他办法吗
  • 使用多次调用函数的 Angular @Input 绑定

    我在用着角8 我有一个子组件 Input 财产 必须在绑定之前修改此输入 因此使用方法返回用于绑定的数据 例如
  • 联系表 7 - 自定义验证

    我只需要验证一个字段 称为 实例 以仅接受小写 ASCII 字母和数字 第一个字符也必须是字母而不是数字 它会接受大写字符 但我们需要它在输入时将它们小写 因此 如果有人使用实例名称 McDonalds 它将小写为 mcdonalds 不仅
  • django 中的实时通知/聊天

    我现在正在用 django 制作一个网站 我想实现一个实时通知功能 就像 facebook 或 SE 上的那样 我做了一些研究 似乎虽然有两种选择 ajax 长轮询和 websockets 但后者是最佳选择 然而 正如你所知 websock
  • onEdit 简单触发器似乎永远不会被触发

    我一直在使用OnEdit一段时间以来 它一直工作得很好 但是现在我遇到了一个问题 基本上当编辑第 6 列 f 时 我希望它检查该值 如果它是 正在进行 我希望它然后运行一个函数发送电子邮件 当我调试它时 它完全按照我想要的方式工作 但是当我