0

一旦脚本运行,我希望在某个单元格中插入注释。我正在使用的脚本是插入一个日历条目 - 但是我只希望它执行一次。为此,我将获取脚本以检查是否在单元格中输入了注释/注释。从理论上讲,这应该很容易,但我无法让它选择正确的单元格......有人可以帮忙吗?我的代码如下。

我在评论后进入与 var = date 对应的单元格。如果有人能给我指点,我真的很感激!

干杯,皮特

    function CalendarInputIVNShortlist() {`

  `var sheet = SpreadsheetApp.getActiveSheet();

   var startRow = 2;  // First row of data to process
  var numRows = 2;   // Number of rows to process
  var dataRange = sheet.getRange(startRow, 1, numRows, 26); //What data will be used
  var data = dataRange.getValues();
  var cal = CalendarApp.getDefaultCalendar(); //Gets the correct calendar

    for (i in data) {
      var row = data[i];
      var title = row[1];  // Column with Title
      var desc = row[15];       // Column with Next Steps
      var date = row[5];   //Column with Date
       var invite = row[2] //Column with PDC Chairs & IVN Owner
         var sent = row[12] //Check Sent
         sheet.getRange(data[i], 5).setNote(Sent)


    cal.createAllDayEvent(title, new Date(date), {description:desc,guests:invite});
var Comment = dataRange(date).setNote("Inputted")
4

2 回答 2

1

这里有一个问题:

sheet.getRange(data[i], 5)

您使用的第一个参数data[i], 是一个数组(您之前已经将其等同于row几行)。getRange()您正在寻找的方法差异需要两个数字作为参数。如果您的意图是在循环中当前引用的行的第 5 列添加注释,那么您需要:

sheet.getRange(i+startRow, 5).setNote(sent);

该特定行的另一个问题是Sent; 我假设您想引用您设置为等于的变量row[12],就在上面,它的名称中有一个小写字母“s”。

接下来,这里有问题:

var Comment = dataRange(date).setNote("Inputted")

是什么dataRange()?除非它是脚本中的另一个函数,它返回与 的内容相关的 Range 对象,否则row[5]我猜你的本意是:

sheet.getRange(i+startRow, 5).setNote("Inputted");
于 2013-04-13T17:42:41.713 回答
0

sheet.getRange()需要 2 个整数作为参数:行号和列号。

在您的代码中,您试图将数组 (data[i]) 分配为 row nuber ......这是行不通的。

由于它从 startRow 开始计数并且数组索引为 0,我建议您尝试这样:

sheet.getRange(startRow+i, 5).setNote(Sent)
于 2013-04-13T17:36:56.817 回答