相关疑难解决方法(0)

在google工作表的google脚本中的特定工作表上使用onedit()触发器

我需要运行一个由onedit()触发的脚本,只运行一个页面.

我已经尝试了以下内容,但目前我无法让脚本只处理所需的工作表("库存")我确信这对于知道的人来说非常简单:

function onEdit(e) {
    var range = e.range;
    if(range.getSheetName() == "Inventory") {
        if(range.getValue() == "notify") {
            range.setBackgroundColor('red');
            var productname = range.offset(0,-3).getValue();
            var productinventory = range.offset(0,-2).getValue();
            var message = "Product variant " + productname + " has dropped to " + productinventory;
            var subject = "Low Stock Notification";
            var emailAddress = "email@email.com";
            MailApp.sendEmail(emailAddress, subject, message);
            range.offset(0,1).setValue("notified");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

triggers if-statement function google-sheets google-apps-script

7
推荐指数
2
解决办法
3万
查看次数

如何比较谷歌应用程序脚本中的字符串

我正在尝试比较从我的 google 电子表格中获得的字符串值。

我的月份以“Jun13”、“Aug13”等格式出现,我的脚本在比较这些格式时的值时遇到问题

var data = ss.getRange(2,2,ss.getLastRow(),3).getValues();
var ListOfMonths = new Array();

for(var i = 0; i < data.length; ++i){

var row = data[i][0];
var duplicate = false;
  for(j in ListOfMonths){
      if(row.toString.match(ListOfMonths[j][0])){
        duplicate = true;
      }
      if(!duplicate){
        ListOfMonths.push(row);
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个比较字符串的问题吗?我也试过 == 和 === 但它们都不起作用

spreadsheet google-apps-script

6
推荐指数
1
解决办法
4万
查看次数

如果在 Google 表格中满足条件,则向行添加边框格式

Excel中显然有这种类型的条件格式的内置

我想通过Google Apps Script在 Google Sheets 中完成相同的操作。以下应证明之前和之后的条件:

示例数据集

        A           B           C
  1   apple     Macintosh
  2   apple     Granny Smith
  3   orange    Florida
  4   orange    Valencia
  5   pear      Garden
  6   banana    Chiquita
Run Code Online (Sandbox Code Playgroud)

结果示例数据集

        A           B           C
  1   apple     Macintosh
  2   apple     Granny Smith
  ---------------------------
  3   orange    Florida
  4   orange    Valencia
  ---------------------------
  5   pear      Garden
  ---------------------------
  6   banana    Chiquita
  ---------------------------
Run Code Online (Sandbox Code Playgroud)

此问题的脚本/答案应在整行(“A”、“B”和“C”列)下为第 2、4、5 和 6 行显示底部边框。电子表格逻辑相当简单:

  1. 在单元格中C1=IF(A1=A2,"NOBORDER","BORDER")
  2. 然后把上面的包起来 =IF(C1="BORDER", addBorder(A1:C1), "NOBORDER")

在更大的数据集中,这种格式将帮助最终用户更轻松地查看逻辑分组。需要 Google Apps 脚本,因为数据将动态更新。

下面是一些示例 Google …

triggers google-sheets google-apps-script

3
推荐指数
1
解决办法
2万
查看次数