这就是我所在的地方:
我有一个电子表格,其中A列包含一些纯文本数据。 A栏中的文字每天早上自动更新一次。
在B列中,我有一个公式,用于查找A列中的某些单词。如果找到匹配项,则会在相应的单元格中显示YES。这就是B栏中的公式基本上看起来像= IF(ISNUMBER(SEARCH(“John Doe”,A1)),“YES”)
我有一个查看B列的脚本,如果上面的公式填充了一个单元格,说是YES,它会向我发送一封电子邮件。问题是,它仅在使用纯文本值填充列时才有效,如果通过公式填充则不起作用。
有没有改变我正在使用的脚本,所以尽管通过公式填充单元格它仍然有效?
这是我正在使用的脚本:
function sendEmail(e) {
var thisSheet = e.source.getActiveSheet();
if (thisSheet.getName() !== 'Sheet1' || e.range.columnStart !== 1 || e.range.rowStart == 1 || e.value !== 'YES') return;
var body, headers = thisSheet.getRange(1, 1, 1, 14)
.getValues()[0],
thisRow = thisSheet.getRange(e.range.rowStart, 1, 1, 14)
.getValues()[0],
recipients = "steveclash@gmail.com",
subject = "YES " + e.source.getName(),
body = "",
i = 0;
while (i < 14) {
body += headers[i] + ':\t' + thisRow[i] + '\n';
i++;
}
body += "\n\nVisit " + e.source.getUrl() + " to view the changes."
MailApp.sendEmail(recipients, subject, body);}