Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 在Google工作表中插入新行或编辑新行时添加时间戳_Google Apps Script_Google Sheets_Timestamp_Row - Fatal编程技术网

Google apps script 在Google工作表中插入新行或编辑新行时添加时间戳

Google apps script 在Google工作表中插入新行或编辑新行时添加时间戳,google-apps-script,google-sheets,timestamp,row,Google Apps Script,Google Sheets,Timestamp,Row,我有: 自动接收新shopify订单的google表单 通过扎皮尔 订单作为新行插入,至少到目前为止是这样,但是 我不知道他们将来是否会被编辑 扎皮尔 订单中的客户数据位于A列到JO列中 下面的代码是一个绑定到容器的简单触发器,可以通过进入google工作表中的工具>脚本编辑器来访问 我想: 在JP列中为新行或已编辑行添加时间戳的步骤 我从这篇文章中拼凑了下面的代码。但是,我有一个问题-当我尝试运行此程序时,我收到以下错误消息: TypeError:无法读取未定义的第6行文件代码的属性“sour

我有:

自动接收新shopify订单的google表单 通过扎皮尔 订单作为新行插入,至少到目前为止是这样,但是 我不知道他们将来是否会被编辑 扎皮尔 订单中的客户数据位于A列到JO列中 下面的代码是一个绑定到容器的简单触发器,可以通过进入google工作表中的工具>脚本编辑器来访问 我想:

在JP列中为新行或已编辑行添加时间戳的步骤 我从这篇文章中拼凑了下面的代码。但是,我有一个问题-当我尝试运行此程序时,我收到以下错误消息:

TypeError:无法读取未定义的第6行文件代码的属性“source”

function onChange(e) {

var lastChangedTime = 276 //column JP

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = e.source.getActiveSheet

var now = new Date();

if (e.changeType == "INSERT_ROW") {


//set lastChangedTime when the row is created 
ss.getActiveSheet().getRange(ss.getActiveRange().getLastRow(), lastChangedTime, 1, 1).setValue(now);
   } 

  if (e.changeType == "EDIT") {

//set date in same row as edit happens, at fixed column  
ss.getActiveSheet().getRange(ss.getActiveRange().getLastRow(), lastChangedTime, 1, 1).setValue(new Date());

   }  
}
有人能通过查看此代码来判断错误是什么吗?任何帮助都将不胜感激

编辑1:


我想跟进并告诉大家这个问题对我来说是如何解决的。我以为我有一个问题,但实际上我有两个

第一个问题是,我试图从脚本编辑器运行OnEdite函数来测试它,这会抛出上面的错误代码。正如Chemi Adel正确指出的那样,需要修改代码以启用这种类型的测试

第二个问题,正如Mateo Randwolf在评论中正确指出的那样,是我没有正确安装触发器。要安装触发器,首先打开包含脚本的google工作表。然后转到工具>脚本编辑器以打开脚本编辑器。脚本编辑器应在web浏览器中的单独选项卡中打开。然后,在脚本编辑器选项卡中,转到编辑>当前项目的触发器,这将打开一个新选项卡,显示当前项目的触发器。然后按下右下角的Add Trigger按钮,将函数的参数设置为function:OnChange,Deployment:Head我不知道这意味着什么,但这是我的唯一选项,从电子表格中选择Event Source:并在编辑时选择Event Type:。我在Mateo Randwolf链接的文档中找到了如何安装触发器


编辑触发器将对象更改为参数“e”,单击运行而不定义“e”导致错误 创建与测试“e”类似的对象结构

   function onChange(e) {
.....
//Overrid e just for testing
e={source:ss,
   changeType:'INSERT_ROW'}
.....

 }

编辑触发器将对象更改为参数“e”,单击运行而不定义“e”导致错误 创建与测试“e”类似的对象结构

   function onChange(e) {
.....
//Overrid e just for testing
e={source:ss,
   changeType:'INSERT_ROW'}
.....

 }

我想跟进并告诉大家这个问题对我来说是如何解决的。我以为我有一个问题,但实际上我有两个

第一个问题是,我试图从脚本编辑器运行OnEdite函数来测试它,这会抛出上面的错误代码。正如Chemi Adel正确指出的那样,需要修改代码以启用这种类型的测试。 第二个问题,正如Mateo Randwolf在评论中正确指出的那样,是我没有正确安装触发器。要安装触发器,首先打开包含脚本的google工作表。然后转到工具>脚本编辑器以打开脚本编辑器。脚本编辑器应在web浏览器中的单独选项卡中打开。然后,在脚本编辑器选项卡中,转到编辑>当前项目的触发器,这将打开一个新选项卡,显示当前项目的触发器。然后按下右下角的Add Trigger按钮,将函数的参数设置为function:OnChange,Deployment:Head我不知道这意味着什么,但这是我的唯一选项,从电子表格中选择Event Source:并在编辑时选择Event Type:。我在Mateo Randwolf链接的文档中找到了如何安装触发器。
我想跟进并告诉大家这个问题对我来说是如何解决的。我以为我有一个问题,但实际上我有两个

第一个问题是,我试图从脚本编辑器运行OnEdite函数来测试它,这会抛出上面的错误代码。正如Chemi Adel正确指出的那样,需要修改代码以启用这种类型的测试。 第二个问题,正如Mateo Randwolf在评论中正确指出的那样,是我没有正确安装触发器。要安装触发器,首先打开包含脚本的google工作表。然后转到工具>脚本编辑器以打开脚本编辑器。脚本编辑器应在web浏览器中的单独选项卡中打开。然后,在脚本编辑器选项卡中,转到编辑>当前项目的触发器,这将打开一个新选项卡,显示当前项目的触发器。然后按下右下角的Add Trigger按钮,将函数的参数设置为function:OnChange,Deployment:Head我不知道这意味着什么,但这是我的唯一选项,从电子表格中选择Event Source:并在编辑时选择Event Type:。我在Mateo Randwolf链接的文档中找到了如何安装触发器。
你好你安装了这个触发器吗?如果你不确定它们是什么。嗨!太好了,我是g
为你工作的小伙子。然而,你能否将你的编辑1正式化为这篇文章的答案,这样每个遇到同样问题的人都能很容易地看到解决方案?谢谢你好你安装了这个触发器吗?如果你不确定它们是什么。嗨!那太好了,我很高兴为你工作。然而,你能否将你的编辑1正式化为这篇文章的答案,这样每个遇到同样问题的人都能很容易地看到解决方案?谢谢