我重新调整了这张谷歌表单的用途,下面链接了脚本:
https://docs.google.com/spreadsheets/d/1z1EfLPYRze0zWnk729ChCf_kOY-JPEV9dvjCbXHNZDc/edit?usp=sharing
以前有人分享过这个,我试着根据我的需要调整它。它可以根据“发送日期”变为当前日期发送电子邮件提醒。我只是需要它做一些小事情,但我无法理解,因为我没有编写脚本/编写代码的经验。
我想编写需要添加到当前脚本中的脚本,以执行以下操作:
当脚本基于触发器每天在工作表上运行时——并为特定行发送电子邮件提醒——它应该使用新日期更新这些行的第1列——基本上将现有日期提前第5列中的天数(到下一个提醒的天数)。((例如,第6行的日期为2020年2月7日-在发送电子邮件提醒后-必须在2月7日之前添加180天(第5列数据),并用新日期更新第1列,即2020年8月5日;因此工作表准备好发送下一个提醒。如果第5列显示为0-则不应更新该日期,只需保持该行不变即可。)。
同时在Col 6中——它不仅应该更新“发送的电子邮件”,还应该更新“这一天”的附加信息,这是电子邮件发送的日期。
最后,表格的顶部应按最新日期和第1列中的最高日期排序,底部应按最短日期排序。
我提出了这段额外的代码,但由于我不知道任何语法,它不起作用:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
//Get the dates from the cell and convert them into Milliseconds since 1970/01/01
var First = new Date(ss.getRange(row[1]).getValue().getTime();
var dayInMs = 24*60*60*1000 //one day in Milliseconds
//add row days to each date in milliseconds
First = First + ((row[4])*dayInMs)
//Convert Milliseconds to date use new Date(time in ms) and set Values of the cell
ss.getRange(row[1]).setValue(new Date(First));
我怎样才能继续?
以下是如何将180天添加到单元格中的日期:
function myFunction() {
var data = SpreadsheetApp.getActive().getActiveSheet().getDataRange().getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var car = row[1];
var date = new Date(row[2]); // make the sheet value a date object
Logger.log('original value = '+date);
Logger.log('method 1 : '+new Date(date.getTime()+180*3600000*24));
Logger.log('method 2 : '+new Date(date.setDate(date.getDate()+180)));
}
}
请参阅Google应用程序脚本将一天添加到日期
下一个问题很简单:
"Email Sent On " + Utilities.formatDate(dt,"GMT", "dd-MM-yy")
第三个问题
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("A1:C7");
// Sorts by the values in the first column (A)
range.sort(1);
// Sorts by the values in the second column (B)
range.sort(2);
// Sorts descending by column B
range.sort({column: 2, ascending: false});
// Sorts descending by column B, then ascending by column A
// Note the use of an array
range.sort([{column: 2, ascending: false}, {column: 1, ascending: true}]);
// For rows that are sorted in ascending order, the "ascending" parameter is
// optional, and just an integer with the column can be used instead. Note that
// in general, keeping the sort specification consistent results in more readable
// code. We could have expressed the earlier sort as:
range.sort([{column: 2, ascending: false}, 1]);
// Alternatively, if we wanted all columns to be in ascending order, we would use
// the following (this would make column 2 ascending)
range.sort([2, 1]);
// ... which is equivalent to
range.sort([{column: 2, ascending: true}, {column: 1, ascending: true}]);
emailNotification是假设只更改文档的国家设置,还是也可以更改电子邮件语言?
我有一个自定义的电子邮件发送给用户的要求,从广告B2C,当她/他重置密码。 我按照此文档设置自助密码重置流,效果良好:https://docs.microsoft.com/en-us/azure/active-directory-b2c/add-password-reset-policy?pivots=b2c-自定义策略 为了为密码重置提供一封带有品牌的电子邮件,我遵循以下代码,因为看起来唯一的其
每个社区都需要发送电子邮件给用户,用来激活账户、重置密码、接收通知以及与其他用户通讯交流。作为论坛管理员,您首先要做的几件事之一就是配置好论坛的邮件服务!配置错误的话,用户在注册时会收到报错。 Flarum 默认提供以下所列驱动,若有需要,开发者可自行开发插件添加 自定义邮件驱动。 这是最常用的邮件驱动,需要您配置主机地址、端口、加密方式、用户名和密码,以使用外部 SMTP 服务。请注意,加密方式
我正在通过DocuSign eSignature API成功发送信封,并且对作为签名过程一部分发送的电子邮件有疑问。发送请求时,我会收到以下电子邮件(使用沙盒环境): > 当每个收件人单击链接查看要签署的协议时,向我发送电子邮件(例如,“John Smith查看了Acme共同客户协议”) 协议完成后,向我(和每位收件人)发送电子邮件。 我正试图了解每一项都有哪些选项可供选择,因为: 启用/禁用每封
问题内容: 我如何使用php5验证输入值是有效的电子邮件地址。现在我正在使用此代码 但显示已弃用的错误。我该如何解决此问题。请帮我。 问题答案: 您可以使用该功能,该功能为您提供了许多方便的验证和消毒选项。 PHP手册filter_var() 在 PHP > = 5.2.0中*可用 * 如果您不想更改依赖于函数的代码,请执行以下操作: 注意 :对于其他用途(需要Regex的地方),不赞成使用的函数
我试图发送电子邮件使用Nodejs包Nodemailer,但我无法更改从电子邮件到我的自定义域电子邮件。任何帮助都将不胜感激。这是我用来发送电子邮件的代码。