【发布时间】:2021-07-08 06:24:17
【问题描述】:
我正在尝试使用 Google 表单将文件上传到驱动器中的多个文件夹。用户可以选择超过 1 个目的地(复选框分析器)并上传 1 到 5 个文件。我有什么:
包含已上传文件的响应/文件夹。
用户希望将文件发送到哪个文件夹(1 到 47 个文件夹)的响应
我将不胜感激任何帮助解决和学习,我在网上使用的所有代码。
const FoldeRespnseID=''
const MainFolder=''
function onFormSubmit(e) {
const form = FormApp.getActiveForm();
const formResponses = form.getResponses();
const itemResponses = formResponses[formResponses.length - 1].getItemResponses();
rename();
// Loads the checkboxes values in an array
for (var i = 0; i < itemResponses.length; i++) {
var itemResponse = itemResponses[i];
if (itemResponse.getItem().getType() == FormApp.ItemType.CHECKBOX) {
var multiple = itemResponse.getResponse();
Logger.log(multiple[i]);
}
}
var righe = multiple.length - 1;
for (i = 0; i <= righe; i++) {
var x = multiple[i];
movetofolders2(x);
}
}
function movetofolders2(folderName) // foldername is where I want to move the files
{
var Files = DriveApp.getFolderById(FoldeRespnseID).getFiles();
var Folder = DriveApp.getFolderById(MainFolder).getFolders();
while (Files.hasNext()) {
var file = Files.next();
while(Folder.hasNext()) {
var child = Folder.next();
var FName=child.getName();
if (folderName===FName)
{
var sId =child.getId()
var sdestFolder = DriveApp.getFolderById(sId);
// Move files to the folder.
var UfileName = file.getName().toString();
var driveFile = DriveApp.getFileById(file.getId());
driveFile.makeCopy(UfileName,sdestFolder);
}
}
}
}
【问题讨论】:
标签: google-apps-script google-drive-api google-forms