我正在尝试为Google Spreadsheet编写脚本,该脚本会将A列中链接的所有文件(仅限URL)上传到特定文件夹(该名称写在B列中) .
我部分成功了 . I can upload first linked file. But I don't know how to edit this script to upload all the files. 我哪里错了?
这个脚本被发现here并由我编辑 .
function downloadFile() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Pokus");
var fileURLs = sheet.getRange(1, 1, sheet.getLastRow()).getValues();
var foldernames = sheet.getRange(1, 2, sheet.getLastRow()).getValues();
for (i = 0; i < fileURLs.length; i++) {
var response = UrlFetchApp.fetch(fileURLs[i], {muteHttpExceptions: true});
var rc = response.getResponseCode();
if (rc == 200) {
var fileBlob = response.getBlob();
var folder = DriveApp.getFoldersByName(foldernames[i]).next();
if (folder != null) {
var file = folder.createFile(fileBlob);
fileName = file.getName();
fileSize = file.getSize();
}
}
var fileInfo = { "rc":rc, "fileName":fileName, "fileSize":fileSize };
return fileInfo;
}
}
我是编写脚本的初学者,我没有经验 . 有人可以帮忙吗?
1 回答
这个修改怎么样?
修改点:
for循环中有
return fileInfo;
. 所以在第一个循环中,它从函数返回 . 这样,只能上传第一个链接文件 .可以通过将
fileInfo
修改为数组来检索所有信息 .修改后的脚本:
注意:
当上载文件很多时,可能会发生错误 .
如果我误解你的问题,我很抱歉 .