插入评论 - Google Spreadsheets

时间:2013-04-13 15:32:57

标签: google-apps-script

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

我在评论之后进入与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")

2 个答案:

答案 0 :(得分:1)

这里有一个问题:

sheet.getRange(data[i], 5)

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

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

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

接下来,这里出了点问题:

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

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

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

答案 1 :(得分:0)

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

在你的代码中,你试图将一个数组(data [i])指定为行nuber ...这不起作用。

因为它从startRow计算,因为数组是0索引,我建议你尝试这样:

sheet.getRange(startRow+i, 5).setNote(Sent)