我一直在研究该网站,但无法找到我的问题的解决方案。我编写了一个脚本来从工作表中提取一个或多个文件名列表,并使用这些文件名作为输入,将实际文件从一个文件夹移动到另一个文件夹中。我现在的问题是,我不知道如何处理价值" Fileiterator"那是在我的剧本中回来的。因此,我运行脚本时遇到的错误是" TypeError:无法在对象FileIterator中找到函数makeCopy"
当我使用MakeCopy()方法或设置从表格中拉取值的变量时,我不确定是否遗漏了某些内容?
这是我的代码:
// Access Mailing List sheet in gdrive and get filename
var spreadsheet = SpreadsheetApp.openByUrl('spreadsheetURL');
var sheet = spreadsheet.getSheets()[0];
var value = sheet.getSheetValues(2,39,1,1);
Logger.log(value);
var folder = DriveApp.getFolderById("folderid1");
Logger.log(folder);
var files = DriveApp.getFilesByName(value);
Logger.log(files);
var destination = DriveApp.getFolderById("folderid2");
Logger.log(destination);
newfile = files.makeCopy("copy of"+files,destination);
Logger.log(newfile);
请指教!
答案 0 :(得分:0)
出现此问题是因为getFilesByName(name)
返回FileIterator对象,但makeCopy是File对象方法。
示例:
这显示了如何使用文件迭代器。
var name = 'File name';
var destination = DriveApp.getFolderById("folderId");
var files = DriveApp.getFilesByName("File name");
while (files.hasNext()) {
var file = files.next();
file.makeCopy("copy of " + name, destination);
}