【发布时间】:2018-01-24 13:28:52
【问题描述】:
我希望制作(我希望是)一个非常基本的脚本,您可以在其中将部分文档名称输入到 Google 电子表格中,下面会显示您的云端硬盘中标题中包含该单词的文件.
例如,我的云端硬盘中有两个文件名为“Rome Adventure”和“London Adventure”,如果您在单元格中输入“Rome”、“London”或“Adventure”,文件标题将出现在下方。
到目前为止,我得到了这个:
function onEdit(e){
// Gets the edited cell, turns it into string
var activeSheet = e.source.getActiveSheet();
var range = e.range;
var input = range.getCell(1,1).getValue();
var SearchString = 'title contains "' + input + '"';
// Searches Drive for files with titles containing whatever you typed
// and appends titles to the spreadsheet
var result = DriveApp.searchFiles(SearchString);
while (result.hasNext()) {
var file = result.next();
activeSheet.appendRow([file.getName()]);
}
}
但不幸的是,无论我输入什么,都没有附加任何内容。我已经尝试过“罗马”、“伦敦”以及我能想到的所有其他内容。考虑到我可能在第一部分中塞了一些东西,我补充道
range.setNote('Last modified: ' + new Date());
在两个部分之间,并且 起作用了。所以它肯定只是我塞满的 DriveApp.searchFiles。我以为我可能已经填满了 StringSearch 位,但是将行更改为
var result = DriveApp.searchFiles('title contains "Rome"');
仍然没有返回任何东西。
我只是一个发烧级程序员,这是我第一次在这里提问。如果这是一个愚蠢的问题,或者这是不可能的,请原谅我。我只是想尽办法让它发挥作用。
【问题讨论】: