如何使用 OnChange() 触发器 [英] How to use OnChange() trigger

查看:38
本文介绍了如何使用 OnChange() 触发器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个电子表格,以及电子表格的主副本.每次用户在单元格中输入数据时,它都会将新数据放入主副本中.

I have a spreadsheet, as well as a master copy of the spreadsheet. Every time user enters data into a cell, it takes the new data and throw into the master copy.

然而,最近我注意到一个用户创建了一个新列,但 OnEdit() 没有捕获该列.

Recently however, I noticed a user creating a new column, which was not captured by OnEdit().

因此我查了一下,看到了去年实施的 OnChange().

Hence I looked it up and saw OnChange(), which was implemented last year.

但是,我不知道如何使用该触发器.

However, I do not know how to use that trigger.

如何检索新的列或行,或用户更改的合并单元格,并将其复制到我的主副本中?我找不到这方面的文档.

How do I retrieve the new column or row, or the merged cells that the user changed, and duplicate it into my master copy? I can't find documentation on this.

推荐答案

要获取对象中的所有方法,您可以使用以下命令:

To get all the methods in an object you can use the following:

function onChange(e){
  for( i in e )
    Logger.log( i );
}

在此日志中,您可以找到有用的 source 属性,它具有以下属性/方法(使用 for( i in e.source) 找到):

In this logging you can spot the useful source property, which has the following properties/methods (found using for( i in e.source)):

getOwner
getKey
removeNamedRange
revealColumn
getSheetPermissions
deleteSheet
getViewers
unhideRow
addEditors
getSpreadsheetTimeZone
insertRowBefore
getSheetId
setFrozenRows
setSpreadsheetLocale
getSpreadsheetLocale
getId
copy
hideColumn
getActiveRange
addMenu
toast
setColumnWidth
getLastColumn
getAs
insertColumnsAfter
setSheetPermissions
setActiveSheet
getBlob
removeMenu
sort
getRange
getRangeByName
getColumnWidth
hideRow
inputBox
removeViewer
findSheetByName
insertImage
autoResizeColumn
setNamedRange
getSheetByName
setActiveCell
insertSheet
isWritable
setSpreadsheetTimeZone
getNumSheets
setFrozenColumns
getSheetProtection
duplicateActiveSheet
deleteRow
isAnonymousWrite
isAnonymousView
findSheet
insertRowAfter
addEditor
getName
unhideColumn
setRowHeight
addViewers
rename
show
setActiveRange
getFrozenRows
setAnonymousAccess
addCollaborator
setActiveSelection
getSheetValues
deleteActiveSheet
removeCollaborator
getDataRange
addCollaborators
deleteRows
deleteColumn
toString
isReadable
removeEditor
setName
insertColumnsBefore
moveActiveSheet
getSheets
getChanges
appendRow
getSheetName
getActiveSelection
insertRowsBefore
insertColumnAfter
getActiveCell
getActiveSheet
getEditors
find
getRowHeight
getFormUrl
getFrozenColumns
updateMenu
msgBox
insertColumnBefore
getUrl
getLastRow
insertRowsAfter
renameActiveSheet
setSheetProtection
deleteColumns
addViewer
getCollaborators
revealRow

这篇关于如何使用 OnChange() 触发器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆