Email通知表中的导入数据是否更改。 [触发无法正常工作]

问题描述 投票:0回答:1
但是我不会实际对表进行更改,因为数据是从另一个表/网站导入的

我希望

当导入数据发生变化时,接种通知。没有人会编辑这个。 用电子邮件与永久的Excel表Atthart

在电子邮件结束时,影响的行总数= +-4

    dummy表格:
  1. Https://docs.google.com/spreadsheets/d/1btda7rx16w6la_gri_gri_gri_gri4up079yizzgkkfzko610yfq6724/edit? 电流脚本:
  2. function sendNotification() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var cell = ss.getActiveCell().getA1Notation(); var row = sheet.getActiveRange().getRow(); var cellvalue = ss.getActiveCell().getValue().toString(); var to = "[email protected]"; var message = '\n\nSignature'; if(cell.indexOf('G')!=-1){ message = sheet.getRange('D'+ sheet.getActiveCell().getRowIndex()).getValue() } var subject = 'Data Updated'; var body = 'Hi there,\n\nThe data on website was updated recently.\n\nKindly refresh the previous excel sheet or click ' + 'https://docs.google.com/spreadsheets/d/1BTdA7Rx16W6la_gri4uP079yIzzgKfZKO610yfQ6724/edit#gid=0' + ' to see changes.\n\n\nThe changes are:\nTotal Rows affected: ' + row + '\n' + message; MailApp.sendEmail(to, subject, body); };
  3. 从库珀的想法中遵循:
  4. 使用属性服务将数据长度存储在Col A中(例如)。创建一个基于时间的触发器,每X分钟检查工作表。如果数据更改,请使用新值更新属性并发送电子邮件。 取决于数据,您可以选择要测试的任何范围,或者如果您有时间戳,则可以更改代码以测试时间的变化。
  5. function onEdit() { var getProps = PropertiesService.getUserProperties(); var lenProp = getProps.getProperty('Len'); var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('-------'); var data = sheet.getRange('A1:A').getValues().toString().length; if (data != lenProp) { getProps.setProperty('Len', data); MailApp.sendEmail('-------------', 'Sheet Has Changed', 'Previous value: ' + lenProp + ' New value: ' + data); } }

我在跟踪我的共享/在线excel文件中的更改上进行了各种解决方法,我最终为此创建了一个应用程序:

https://trackchanges.app/

可以跟踪共享/在线excel或Google电子表格的更改,您可以通过chance
google-apps-script google-sheets spreadsheet
1个回答
0
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.