【发布时间】:2021-07-27 03:44:21
【问题描述】:
我正在为 Google 表格编写脚本以执行以下功能:
- 查看特定文件夹(“此文件夹”)中的所有文档
- 对于每个文档,查看 cmets
- 对于每条评论,检索文档的名称、突出显示的文本和评论的内容
- 在电子表格中添加一行,其中包含文档名称、突出显示的文本和评论内容
我编写了执行 #2、#3 和 #4 的代码(即查看 cmets 并收集评论数据),但这仅适用于 ONE 文档。
function listComments() {
var sheet = SpreadsheetApp.getActiveSheet();
sheet.clear();
sheet.appendRow(["Interview", "Highlight", "Code"]);
var docId = '[document title]';
var comments = Drive.Comments.list(docId);
if (comments.items && comments.items.length > 0) {
for (var c = 0; c < comments.items.length; c++) {
var comment = comments.items[c];
data = [
comment.fileTitle,
comment.context.value,
comment.htmlContent,
]
sheet.appendRow(data);
}
}
}
下面是我尝试修改的代码,要求函数查看文件夹中的所有文档,并对所有文档执行此操作。但是,它不起作用。
我认为它可能会卡在某个地方的循环中?
function listComments() {
var sheet = SpreadsheetApp.getActiveSheet();
sheet.clear();
sheet.appendRow(["Interview", "Highlight", "Code"]);
var folder = DriveApp.getFolderById("[this folder]");
var contents = folder.getFiles();
var file
if (contents.items > 0) {
for (var i = 0; i < contents.items.length; i++) {
file = contents[i];
while (file.hasNext()) {
var file = contents.next();
var comments = Drive.Comments.list(file);
if (comments.items && comments.items.length > 0) {
for (var c = 0; c < comments.items.length; c++) {
var comment = comments.items[c];
data = [
comment.fileTitle,
comment.context.value,
comment.htmlContent,
]
sheet.appendRow(data);
}
}
}
}
}
}
感谢您提供的任何帮助或见解!
【问题讨论】:
标签: google-apps-script google-sheets google-sheets-api google-docs-api