社区首页 >问答首页 >OnChangeTrigger没有运行,并且在GAS触发器面板中有错误消息。

OnChangeTrigger没有运行,并且在GAS触发器面板中有错误消息。
EN

Stack Overflow用户
提问于 2022-01-23 04:15:28
回答 2查看 63关注 0票数 0

我不明白为什么我的扳机不能正确运行。

我编写这个脚本是为了自动记录在此电子表格中执行的所有更改。这些日志将写入"D4:H“范围内的工作表”管理表“中。必须在此范围内填写的字段为:1->用户电子邮件,2->新日期(),“->changeType,4->sheetName,5->修改范围)

代码语言:javascript
代码运行次数:0
复制
function setUpTrigger(){
  ScriptApp.newTrigger('loggerModifFunction')
  .forSpreadsheet('ss Id')
  .onChange()
  .create();
}

function loggerModifFunction(e) {
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Management Sheet').getRange(e.range.getLastRow(), 5).setValue([user,new Date(),changeType,sheetName,range]);
}

Google窗口显示以下错误:

"TypeError:无法读取属性‘lastRow’的未定义“.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-23 04:45:22

尝尝这个

代码语言:javascript
代码运行次数:0
复制
function loggerModifFunction(e) {
  Browser.msgBox(JSON.stringify(e))
}

这将向您展示什么信息是可用的!

代码语言:javascript
代码运行次数:0
复制
{"authMode":"FULL","changeType":"EDIT","source":{},"triggerUid":"123456789012345","user":{"email":"XXX@gmail.com","nickname":"XXXX"}}

在任何情况下,您都不能获取e.range ( userchangeType )。

您可以获取例如e.user.emaile.changeType

代码1

代码语言:javascript
代码运行次数:0
复制
function setUpTrigger() {
  ScriptApp.newTrigger('loggerModifFunction')
    .forSpreadsheet('ssID1')
    .onChange()
    .create();
}

function loggerModifFunction(e) {
  var ss = SpreadsheetApp.openById('ssID2')
  var sh = ss.getSheetByName('Management Sheet')
  sh.appendRow([e.user.nickname, new Date(), e.changeType, e.source.getActiveSheet().getName(), e.source.getActiveRange().getA1Notation()])
}

哪里

spreadsheet)

  • ssID1:我想调查的电子表格的ID,

  • ssID2:电子表格的ID,我想要收集和编写更改(代码是在这个

  • 中构建的)

代码2

如果您想要一个特定的位置并排除一些工作表

代码语言:javascript
代码运行次数:0
复制
function loggerModifFunction(e) {
  var ss = SpreadsheetApp.openById('1HlRT30uvpPD7GNrv2aRZydO1a3zc0kQOulGBd_0mc3k')
  var sh = ss.getSheetByName('Management Sheet')
  var sheetName = e.source.getActiveSheet().getName()
  var excl = ['Sheet1','Sheet2'];//excluded sheets
  if (excl.indexOf(sheetName) == -1){
    sh.getRange(sh.getLastRow()+1,4,1,5).setValues([[e.user.nickname, new Date(), e.changeType, sheetName, e.source.getActiveRange().getA1Notation()]])}
}

注意:

如果您不在同一个组织中,由于权限策略,您将无法恢复用户(除了您自己)。

票数 2
EN

Stack Overflow用户

发布于 2022-01-23 11:11:37

范围不在事件对象中。

获取事件对象的代码:

代码语言:javascript
代码运行次数:0
复制
function onMyChange(e) {
  JSON.stringify(e));
}

事件对象:

代码语言:javascript
代码运行次数:0
复制
"authMode":"","changeType":"","source":{},"triggerUid":"","user":{"email":"","nickname":""}}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70821920

复制
相关文章
python之创建类的对象
  Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。下面我们来介绍一下python的创建类的对象。
jiankang666
2022/12/05
6470
python之创建类的对象
Python面向对象编程-类和对象-对象的创建和使用
在Python中,对象是一种数据结构,它封装了数据和行为,并允许对它们进行操作。对象是根据类定义的,它们具有类定义的属性和方法。本文将介绍如何在Python中创建和使用对象。
玖叁叁
2023/04/19
1.1K0
python学习笔记(10)python面向对象(一)类的创建实战
在python中使用class语句来创建一个类,class之后为类的名称并以冒号结尾,例子如下:
大数据小禅
2021/08/16
3810
类加载机制与对象的创建
查找并加载类的二进制数据加载时类加载过程的第一个阶段,在加载阶段,虚拟机需要完成以下三件事情:
leobhao
2022/06/28
6920
类加载机制与对象的创建
Python类对象
属性引用 使用 Python 中所有属性引用所使用的标准语法: obj.name。 有效的属性名称是类对象被创建时存在于类命名空间中的所有名称。 因此,如果类定义是这样的:
py3study
2020/01/16
7580
python 面向对象、类、对象
class 类 object 对象 object-oriented programming 面向对象,简称OOP attribute 属性 method 方法 inheritance 继承
py3study
2020/01/10
1.3K0
创建自定义类的对象数组
CN_Simo
2017/12/26
2.3K0
创建自定义类的对象数组
Python的类和对象
对象=属性(特征)+方法(行为) 类:在python中,把具有相同属性和方法的对象归为一个类(class) self: init()构造方法,只要实例化一个对象,这个方法就会在对象被创建时自动调用。
企鹅号小编
2018/01/08
8950
Python的类和对象
Python - 面向对象编程 - 什么是 Python 类、类对象、实例对象
https://www.cnblogs.com/poloyy/p/15178423.html
小菠萝测试笔记
2021/09/07
9430
Python的类和对象
面向对象编程是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。理解面向对象编程有助于你像程序员那样看世界,还可以帮助你真正明白自己编写的代码:不仅是各行代码的作用,还有代码背后更宏大的概念。
stormwen
2019/08/05
7010
python 通过元类控制类的创建
在上面这张图中,A是我们平常在python中写的类,它可以创建一个对象a。其实A这个类也是一个对象,它是type类的对象,可以说type类是用来创建类对象的类,我们平常写的类都是type类创建的对象,再由创建的对象再去创建我们平常使用的对象,我们可以看看type的官方文档
py3study
2020/01/17
1.5K0
【Python】此集合非彼集合
🚀write in front🚀    🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🏅2021年度博客之星物联网与嵌入式开发TOP5→周榜31→总榜2513🏅 🆔本文由 謓泽 原创 CSDN首发🐒 如需转载还请通知⚠ 📝个人主页:打打酱油desu-CSDN博客🎓 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​ 📣系列专栏:【Python】系列_謓泽的博客-CSDN博客🎓 ✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩 ---- 目录 🎓写在前
謓泽
2022/12/12
7340
python 类的创建, 实例化, 初始化以及面向对象(4.1)
子类可以继承父类的所有属性和方法, 但是同时子类也可以重写父类的属性和方法, 达到自定义的目的.
友儿
2022/09/28
1.2K0
关于类的对象创建与初始化
今天,我们就来解决一个问题,一个类实例究竟要经过多少个步骤才能被创建出来,也就是下面这行代码的背后,JVM 做了哪些事情? Object obj = new Object(); 当虚拟机接受到一条 new 指令时,首先会拿指令后的参数,也就是我们类的符号引用,于方法区中进行检查,看是否该类已经被加载,如果没有则需要先进行该类的加载操作。 一旦该类已经被加载,那么虚拟机会根据类型信息在堆中分配该类对象所需要的内存空间,然后返回该对象在堆中的引用地址。 一般而言,虚拟机会在 new 指令执行结束后,显式调
Single
2018/04/17
8220
关于类的对象创建与初始化
python对象和类
#coding:utf-8 #1、对象是一个有着相应行为的数据的集合 #2、在面向对象建模中,用于各种描述对象的属于叫做类 #3、类和对象的区别:类描述了对象,是创建对象的模板 #4、关联是把两个类联系起来最基本的方式 #5、一个类可以通过关系中其他端的任何一个对象关联在一起,这个类的对象数量就表示多样性 #描述苹果对象的类 class Apple:     pass #描述橘子对象的类 class Orange:     pass #描述篮子对象的类 class Basket:     pa
py3study
2020/01/10
4680
python类与对象
类是一种数据类型,而对象是具有这种数据类型的变量。类是抽象的,不占有内存空间。而对象是具体的,占有储层空间。 python中,通过class关键字定义类。 形式: class className: 类体 类体定义类的成员,有二种类型成员。一是数据成员,它描述问题的属性。二是成员函数,它描述问题的行为。 类是抽象的,要使用类定义的功能必须将类实例化,即创建对象。 对象名=类名(参数列表) class Person: name=' ' age=0 def displa
热心的社会主义接班人
2018/06/04
5760
python面向对象,类
    是面向对象中的俩个重要概念,类是对事物的抽象,比如人类,球类。对象是事物的实例,比如足球,篮球。球类可以对球的特征和行为进行抽象,然后可以实例化一个真实的球体出来。
py3study
2020/01/10
4860
Python 类与对象
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:Python 类与对象 ---- Python 类与对象 1.类与对象 1.1 类的定义 1.2 类的方法 2.继承 2.1 单继承 2.2 多继承 2.3 方法重写 3.私有属性与方法 ---- 1.类与对象 Python 是一种面向对象的编程语言。 Python 中的几乎所有东西都是对象,拥有属性和方法。
小嗷犬
2022/11/15
2240
【Python】类和对象
创建名为 Person 的类,使用 init() 函数为 name 和 age 赋值。
自学气象人
2023/06/20
1300
【Python】类和对象
python 类和对象
目标 类和对象的概念 类和对象的关系 类的设计 01. 类和对象的概念 类 和 对象 是 面向对象编程的 两个 核心概念 1.1 类 类 是对一群具有 相同 特征 或者 行为 的事物的一个统称,是抽
Devops海洋的渔夫
2019/06/02
6060

相似问题

python创建类的对象

20

Python中的卡特彼勒图

18

如何在Javascript中创建此类对象

212

创建对象列表的Python类

34

Python类和对象创建

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档