Javascript GoogleSheets脚本自动定位带有今天日期的单元格,复制整行并通过电子邮件发送
我已经用谷歌表单建立了一个报告工具,每天我都在那里填写表单,然后回复到电子表格中。电子表格在A列上有时间戳,其余列是表格中问题的答案 我正在尝试编写一个脚本,每天在特定的时间向我发送一封带有excel文件/google工作表链接的电子邮件,其中基本上包含今天表单中所有答案的副本(带有当天的日期戳) 有人能帮我开始吗 提前谢谢 你需要的是Javascript GoogleSheets脚本自动定位带有今天日期的单元格,复制整行并通过电子邮件发送,javascript,excel,google-apps-script,google-sheets,automation,Javascript,Excel,Google Apps Script,Google Sheets,Automation,我已经用谷歌表单建立了一个报告工具,每天我都在那里填写表单,然后回复到电子表格中。电子表格在A列上有时间戳,其余列是表格中问题的答案 我正在尝试编写一个脚本,每天在特定的时间向我发送一封带有excel文件/google工作表链接的电子邮件,其中基本上包含今天表单中所有答案的副本(带有当天的日期戳) 有人能帮我开始吗 提前谢谢 你需要的是 一段时间 向后检索时间戳,并将具有今天日期的行推送到值范围数组中 新的电子表格 到新的工作表 检索新电子表格的 将URL合并到 以下是包含此功能的示例代码,
- 一段时间
- 向后检索时间戳,并将具有今天日期的行推送到值范围数组中
- 新的电子表格
- 到新的工作表
- 检索新电子表格的
- 将URL合并到
function bindATimeTriggerToMe() {
var sheet = SpreadsheetApp.openById("PASTE-ID-OF-SPREADSHEET").getSheetByName("PASTE-NAME-OF-SHEET");
var timestamps = sheet.getRange(1,1,sheet.getLastRow(), 1).getValues();
var today = new Date();
var i;
for (i = timestamps.length-1; i > 0; i--){
var day = timestamps[i][0];
if (day.setHours(0,0,0,0) != today.setHours(0,0,0,0)){
var firstRow = i + 2;
break;
}
}
if (firstRow){
var rows = sheet.getLastRow()-firstRow+1;
var columns = sheet.getLastColumn();
var values = sheet.getRange(firstRow, 1, rows, columns).getValues();
var newSheet = SpreadsheetApp.create("results from "+ today);
newSheet.getSheetByName("Sheet1").getRange(1, 1, rows, columns).setValues(values);
var url = newSheet.getUrl();
var recipient ="XXX@gmail.com";
var subject = "results from " + today;
var body = "Click on the following link: "+url;
GmailApp.sendEmail(recipient, subject, body)
}
}
我认为,您必须开始编写代码 首先,我建议您阅读以下文章中的
事件
。在这里,您可以找到两个触发器:
- 谷歌表单事件-表单提交
- 谷歌表单事件-来自提交
MailApp.sendmail()
函数
然后我强烈建议阅读电子表格、工作表和范围类的文档,并尝试编写一些代码。当你发现一个问题时,在这里用一段不起作用的代码来描述你的问题
祝你好运 到目前为止,您尝试了什么?到目前为止,我有一个脚本可以找到重复项并突出显示它们,但它并没有像我想象的那样帮助我,因为它突出显示了整个a列。