首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将注释&建议从Google文档编辑到Google工作表

将注释&建议从Google文档编辑到Google工作表
EN

Stack Overflow用户
提问于 2015-05-21 18:47:22
回答 1查看 450关注 0票数 1

同龄人。我正在使用Google脚本来(a)捕获Google文档中的所有“评论”.

...and (b)把它们列在Google单子上.

不过,我想知道是否有可能.

(1)将“注释”排列到工作表中列下的单个单元格中,而不是像我现在这样放在单个列中。这是我目前用来获取评论内容的一点气体:

代码语言:javascript
复制
 var comments = JSON.parse(Drive.Comments.list(id));
 var items=comments.items;

 var string = "";
  for(var i in items){
    string+='\n';
    string+=items[i].content;
  }

(2)在我的Google文档中,按锚位置排序“注释”--即在文档中锚定的最高位置的注释将出现在工作表列的第一个单元格中。

(3)还包括我的Google文档中的“建议编辑”和评论。这些可以通过API访问吗?

提前感谢任何有能力帮忙的人!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-21 19:43:38

(1)将“注释”排列到工作表中列下的单个单元格中,而不是像我现在这样放在单个列中。

这段代码接受了一个注释数组,并将它们连接到一个字符串中:

代码语言:javascript
复制
  var string = "";
  for(var i in items){
    string+='\n';
    string+=items[i].content;
  }

要将每个注释放入列中的一个单独的单元格中,您需要将该数组转换为一个二维数组,其中每个原始元素都位于它自己的“行”中。类似于:

代码语言:javascript
复制
  var data = [];           // start with an empty array
  for (var i=0; i<items.length; i++) {
    var item = items[i];   // current comment
    // A row is an array of cells
    var row = [item.htmlContent,item.author.displayName,item.createdDate];
    data.push(row);        // Add this row to the data array
  }

这一行写入单个单元格的内容,尽管使用的是可以填充矩形范围的setValues()

代码语言:javascript
复制
var targetRange = sheet.getRange(lastRow+1,1,1,1).setValues([[string]]);

使用前面创建的二维数组,您可以如下所示地追加到工作表中:

代码语言:javascript
复制
var targetRange = sheet.getRange(lastRow+1,1,data.length,data[0].length);
targetRange.setValues(data);

结果:

代码语言:javascript
复制
function driveApiComment(id){

  var comments = JSON.parse(Drive.Comments.list(id));
  var items=comments.items;

  var data = [];           // start with an empty array
  for (var i=0; i<items.length; i++) {
    var item = items[i];   // current comment
    // A row is an array of cells
    var row = [item.htmlContent,item.author.displayName,item.createdDate];
    data.push(row);        // Add this row to the data array
  }

  var sheet = SpreadsheetApp.openById(submissionSSKey).getSheets()[0];
  var lastRow = sheet.getLastRow();
  var targetRange = sheet.getRange(lastRow+1,1,data.length,data[0].length);
  targetRange.setValues(data);

}

(2)在我的Google文档中,按锚位置排序“注释”--即在文档中锚定的最高位置的注释将出现在工作表列的第一个单元格中。

你运气不好(至少现在是这样)。请参见:

摘要:谷歌的锚是不可解读的。(它们很可能是一个隐藏数据库的密钥,其中包括实际行& char参考您的文档,以及您的社会保险号码和母亲的婚前姓名。)你可以取回它们并按字母顺序排序。但这与评论在文件中的位置无关。

(3)还包括我的Google文档中的“建议编辑”和评论。这些可以通过API访问吗?

不是的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30381973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档