我在Google工作簿中有一个Google Spreadhsheet(“触发器”),其中包含三列:
-
A栏:电子邮件地址
-
B列:电子邮件文本
-
C列:包含"yes"或"no"的单元格
这些列的值从第2行开始,到目前为止,我只需要针对此单行的解决方案 .
每当单元格 C2
中的值为 "yes"
(此处的计算基于当前股票价格)时,我想向 A2
中的电子邮件帐户发送一封电子邮件,其中的文本位于 B2
,主题为 "Price has been reached? ==" & C2
到目前为止我所拥有的(我对此非常陌生,但在VBA方面有一些经验)是这样的:
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 1; // Number of rows to process
// Fetch the range of cells A2:B3
var dataRange = sheet.getRange(startRow, 1, numRows, 2)
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
var emailAddress = row[0]; // First column
var message = row[1]; // Second column
var subject = "Price has been reached? ==";
MailApp.sendEmail(emailAddress, subject, message);
}
}
这适用于发送电子邮件,但不考虑 C2
中的值 . 我怎样才能做到这一点?
此外,我想知道如何编写这个脚本应该只链接到电子表格“触发器”,而不是链接到此工作簿中的其他工作表?
一旦这个工作,我可以在脚本编辑器中定义一个适当的触发器,然后考虑如何使这个工作多行 .
1 回答
某些函数(如
GOOGLEFINANCE
)不会导致触发onEdit或onChange .您需要创建一个基于时间的触发器,该触发器经常检查(最多每分钟一次)
然后在脚本编辑器中设置触发器 .