亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當外部源(firebase)更改單元格時,如何在谷歌表格中觸發谷歌應用程序腳本?

當外部源(firebase)更改單元格時,如何在谷歌表格中觸發谷歌應用程序腳本?

一只名叫tom的貓 2021-12-23 16:22:01
我正在嘗試觸發已綁定到 Google 表格的 Google App 腳本。來自 firebase 的數據被拉入應觸發腳本的工作表中。我目前正在使用 onEdit(e),它在我手動添加數據時起作用,但在從 firebase 更新數據時不起作用。有什么方法可以設置觸發器以在每次更改特定范圍內的單元格值時運行該函數。謝謝!腳本function onEdit(e) {  var ss = SpreadsheetApp.getActive()  var dumpingGround = ss.getSheetByName("Dumping Ground")  var dataDump = ss.getSheetByName("Data Dump")  var ddLastRow = dataDump.getLastRow() + 1  var editCol = e.range.getColumn();  var editRow = e.range.getRow();  Logger.log("edit")  /*Copy from dumping ground to data dump*/  if ((editRow == 1 && editCol == 2) || (editRow == 1 && editCol == 3)){    /*Set required range for data dump and dumping ground*/    var ddRange = '\'Data Dump\'!A' +ddLastRow+ ':BF' + ddLastRow    var dgCopyRange = '\'Dumping Ground\'!B1:BF1'        /*Copy action*/    ss.getRange('\'Dumping Ground\'!B1:BF1').copyTo(ss.getRange(ddRange), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);    /*Check data dump row count and delete 1000 rows if necessary*/    if(ddLastRow = 9999){      dataDump.deleteRows(1, 1000);    }  }};
查看完整描述

1 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

從 Apps 腳本文檔

腳本執行和 API 請求不會導致觸發器運行。例如,調用 Range.setValue() 來編輯單元格不會導致電子表格的 onEdit 觸發器運行。

我認為你最好但會創建一個時間觸發器并檢查指定范圍內的變化。當然,我不能確定這是否對您的目的有用,但值得一試。

以下是一些可供考慮的替代方案:

  • 如果數據拉取是由您的腳本啟動的,那么只需讓該函數完成所需的操作即可。

  • 如果您有單獨的服務來填充數據,則可以使用 Sheets API。

  • 您可以將腳本發布為Web 應用程序并通過 GET 或 POST 觸發

  • 您可以嘗試使用Apps Script API執行函數。請查看這樣做的要求,因為它可能無法滿足您的要求。


查看完整回答
反對 回復 2021-12-23
  • 1 回答
  • 0 關注
  • 194 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號