谷歌Apps脚本电子表格注释自动化(Google Apps Script Spreadsheet C

2019-07-22 11:18发布

今天,我有一个关于谷歌Apps脚本的问题,专门为电子表格 。 我已经看过的文件在这里 (是的,在电子表格中的的文档),但我一直没能找到我要找的。 这里的Sitch为:

1)当一个细胞在谷歌电子表格编辑,我有函数集使用功能(是的,它说cell.setComment(),但在现实中,它创建了一个注感谢是一致的,谷歌)一

function onEdit() {
var doc = SpreadsheetApp.getActiveSpreadsheet();
var sheet = doc.getActiveSheet();
var cell = sheet.getActiveCell();
cell.setComment("Last modified: + (new Date()));
}

2)注意已经被“取代”通过评论为... 2012年9月5日? 也许? 我宁愿用这些来代替。

3。)对于两种类型的“细胞符号”的,存在功能只设定音符/注释,和不 (根据文档)。

4.)我想引用或写入具有添加一个新的注释/注释的能力的功能(优选评论,它们更容易读取),而不是设置在注/注释。

5)您可以手动添加注释/通过电子表格本身的GUI评论(右键单击单元格,选择“插入笔记”或“插入注释”。由于这些右键单击功能存在使我相信,我们能写一个脚本做同样的事情,但它被称为自动奇迹般地当电池已被编辑。

6)该功能将被用于跟踪细胞的修订历史。 我知道我可以创建一个新的电子表格并发送修订历史到新的电子表格很容易,但考虑到我有10个电子表格需要被跟踪,我宁可不要10个新的电子表格来记录历史。 在同一个电子表格保持它会让事情变得简单。

如果有人可以帮助我,这将不胜感激!

Answer 1:

有没有办法通过电子表格服务操纵评论-见问题2566 。 (如果你愿意加上星号。)

取而代之的是,所有的“注释”方法的注意事项工作。

下面的方法将一个新的“修改”时间戳附加到任何现有的一个 - 不太好看作为一个实际的评价是,很遗憾。

function onEdit() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var cell = sheet.getActiveCell();
  var comments = cell.getComment();
  // Newline works in msgBox, but not in Note.
  comments = comments + "\\nModified: " + (new Date());
  //Browser.msgBox(comments);
  cell.setComment(comments);
}


Answer 2:

使用谷歌云端硬盘API在谷歌Apps脚本,我们可以创建一个谷歌文档的意见。
和测试后,我确认你也可以做一个电子表格(这是正常的,因为评论只取决于驱动器API)

function insertDriveComment(fileId, comment, context) {
  var driveComment = {
    content: comment,
    context: {
      type: 'text/html',
      value: context
    }
  };
  Drive.Comments.insert(driveComment, fileId);  
}

请记住,你不能以编程注释附着在细胞(或在谷歌文档的话),因为文档和电子表格注释锚是专有的(请在页面底部的视频点击这里 )

希望它可以帮助。



Answer 3:

对DIC 2018更新的答案:

现在,谷歌支持setNote(字符串)和setNotes在Range类(对象[])方法。

所述getComment()和setComment()方法不再存在。



文章来源: Google Apps Script Spreadsheet Comment Automation