javascript - 如何从 Google 表格中的一系列单元格中获取值并将其与预定义值进行比较,以便在满足条件时发送邮件

标签 javascript google-apps-script google-apps

我正在设置一个 gooleappscript,如果电子表格中的某个值范围满足特定条件,则自动发送邮件。我需要读取多个单元格(A1 到 A10)的值并检查其是否小于 3 ,如果是,则发送发送至上述邮件 ID 的邮件。我已经完成了脚本,但它的唯一读取值来自第一个单元格并相应地发送邮件。我的目的是读取每个选定的单元格值,然后进行比较。任何纠正它的想法。

Google sheet

下面是我使用的代码。

function sendMail() {
  if (SpreadsheetApp.openById('1bmAFWR7YsfMlgxExLKY4**********').getRange("A2:A10").getValue()<3) ;
  MailApp.sendEmail("s*****@gmail.com", "*Subject*******", "Dear Sreenath, Your **** is getting expired in two days !");
	}

我已经尝试过getRange("A2:A10").getValue()<3但它读取并比较 A2 中的值only.ie 在这种情况下仅读取并比较值 10。我需要读取 A2 中的所有值至A10并检查是否小于3。如果其中任何一个小于3则需要触发发送邮件命令。 非常感谢任何帮助。

最佳答案

您需要修复一些问题:

getValue() 仅获取一个值。您想要该范围内的所有值。因此,请使用getValues()Ref doc here .

您收到的值是一个数组。您需要循环遍历数组并检查每个值。

注意这个

"Returns a two-dimensional array of values, indexed by row, then by column"

您可能还想指定从哪个工作表获取值。

所以我会尝试这样的事情:

function sendMail() {

  var ss = SpreadsheetApp.openById('1bmAFWR7YsfMlgxExLKY4**********'); // The spreadsheet

  var sheet = ss.getSheetByName("The_Name_Of_Your_Sheet_Goes_Here"); // The sheet that has the data

  var data = sheet.getRange("A2:A10").getValues(); // The values from the sheet

  for (var i = 0; i < data.length; i++) { // Loop throught the values

    if ( data[i][0] < 3 ) { // The array is a 2-d array. See ref doc in this post

      MailApp.sendEmail("s*****@gmail.com", "*Subject*******", "Dear Sreenath, Your **** is getting expired in two days !"); // Send email

    }

  }

}

关于javascript - 如何从 Google 表格中的一系列单元格中获取值并将其与预定义值进行比较,以便在满足条件时发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57688232/

相关文章:

google-apps-script - 如何计算特定字符串和颜色?

javascript - 防止 IE9 中的 onbeforeunload 对话框

javascript - 如何用php重定向到主页

javascript - 用 JavaScript 编写这个 jQuery 点击函数

javascript - 为什么我的 html 弹出窗口显示函数的文本而不是运行它们?

google-apps-script - 使用 Google App 脚本删除一定数量的过滤器 View

ruby-on-rails - Rails 应用程序的 Google Apps 身份验证

javascript - onOpen 触发的函数停止工作

java - 如何从 Google 应用程序帐户访问 Google Play Developers Console

javascript 启动的选择更改事件不起作用