如何使用 OnChange() 触发器

How to use OnChange() trigger

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

但是最近,我注意到一个用户创建了一个新列,但 OnEdit() 未捕获该列。

于是查了一下,看到了去年实现的OnChange()

但是,我不知道如何使用那个触发器。

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

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

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

在此日志记录中,您可以发现有用的 source 属性,它具有以下 properties/methods(使用 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