将文件从表单上载到特定文件夹



我是一名编码知识有限的老师。我正在尝试创建一个谷歌应用程序脚本,以便我的学生可以从表格上传文档。在表格上,学生将从下拉列表中选择他们的姓名,我希望该脚本上传文件夹中的文档,该文件夹与我之前在驱动器上创建的名称相同。

我找到了这个脚本,它允许根据文件夹id将文件上传到特定的文件夹。我如何修改它,根据他们在表单上选择的名称上传到不同的文件夹id?

function myFunction (e) {
var form = FormApp.getActiveForm();
var formResponses = form.getResponses();
var formResponse = formResponses[formResponses.length-1];
var itemResponses = formResponse.getItemResponses();
// I modified below script.
Utilities.sleep(3000);
var folderId = "1dNoanQMGXvBDIsIRITNHCXnP8srW_Wlt";  // Please set folder ID of the destination folder.
var destfolder = DriveApp.getFolderById(folderId);
for (var i = 0; i < itemResponses.length; i++) {
if (itemResponses[i].getItem().getType() == "FILE_UPLOAD") {
var ids = itemResponses[i].getResponse();
for (var j = 0; j < ids.length; j++) {
var file = DriveApp.getFileById(ids[j]);
destfolder.addFile(file);
file.getParents().next().removeFile(file);
}
}
}
}

我在脚本中添加了一个switch函数,得到了我想要的结果。希望它能帮助其他人。。。。

function myFunction (e) {
var form = FormApp.getActiveForm();
var formResponses = form.getResponses();
var formResponse = formResponses[formResponses.length-1];
var itemResponses = formResponse.getItemResponses();
// I modified below script.
Utilities.sleep(3000);
var items = e.response.getItemResponses()
var name = items[0].getResponse();

Logger.log('result is: ' + name);

var parentFolderId = '';
switch (name) {
case 'Red':
parentFolderId = "1JBHIj9BcR-_LDLSwU2nNLo1u5v0sWaAT";
break;
case 'Blue':
parentFolderId = "1NkRQnMxaT2ZFOuLzKk7lc-pZt-OVlPhc";
break;
case 'Green':
parentFolderId = "12EMeWGRwNnf3uE-JkhTmXxznX0OLL60V";
break;
}
Logger.log('Switch result is: ' + parentFolderId);



var folderId = parentFolderId ;  // Please set folder ID of the destination folder.
var destfolder = DriveApp.getFolderById(folderId);
for (var i = 0; i < itemResponses.length; i++) {
if (itemResponses[i].getItem().getType() == "FILE_UPLOAD") {
var ids = itemResponses[i].getResponse();
for (var j = 0; j < ids.length; j++) {
var file = DriveApp.getFileById(ids[j]);
destfolder.addFile(file);
file.getParents().next().removeFile(file);
}
}
}
}

最新更新