如何将当前文件移动到文件夹? [英] How to I move the current file to a folder?
问题描述
我想将当前文件移动到一个文件夹中,并根据单元格值更改将其从所在文件夹中移除。这里是我的:
function onEdit(){
var File = SpreadsheetApp.getActiveSpreadsheet( );
var TransferComplete = File.getSheetByName(Sheet9)。getRange(E24)。getValue();
var ActiveFolder = DriveApp.getFolderById(a0lweiurnawoeiuranwv);
var ArchiveFolder = DriveApp.getFolderById(apsleriuoavwnoeiura);
if(TransferComplete =Yes)
{ArchiveFolder.addFile(File)&& ActiveFolder.removeFile(文件)};
错误表示找不到添加文件方法。
解决方案
要移动文件,您必须首先将文件本身作为文件而不是电子表格。
您需要使用 DriveApp.getFileById()
来检索一个文件对象,然后您可以将它传递给 ArchiveFolder.addFile()
。
另外,你的代码有一些语法错误。
- 您正在使用赋值运算符
=
,而不是比较运算符 ==
或'==='
来比较 TransferComplete
至是
- 在if语句结尾处不需要语句分隔符
;
-
您使用&&
来分隔两条语句,您需要像这样分隔它们。
if(TransferComplete ==Yes){
ArchiveFolder.addFile(File);
ActiveFolder.removeFile(File);
}
更正后的代码:
function onEdit(){
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var file = DriveApp.getFileById(spreadsheet.getId());
var transfeComplete = spreadsheet.getSheetByName(Sheet9)。getRange(E24)。getValue();
var activeFolder = DriveApp.getFolderById(a0lweiurnawoeiuranwv);
var archivefolder = DriveApp.getFolderById(apsleriuoavwnoeiura);
if(transfeComplete ===Yes){
archivefolder.addFile(file);
activeFolder.removeFile(file);
}
}
I want to move the current file to a folder and remove it from the one that it is in, based on a cell value change. Here is what I have:
function onEdit() {
var File = SpreadsheetApp.getActiveSpreadsheet();
var TransferComplete = File.getSheetByName("Sheet9").getRange("E24").getValue();
var ActiveFolder = DriveApp.getFolderById("a0lweiurnawoeiuranwv");
var ArchiveFolder = DriveApp.getFolderById("apsleriuoavwnoeiura");
if (TransferComplete = "Yes" )
{ArchiveFolder.addFile(File) && ActiveFolder.removeFile(File)};
}
The error says that it cant find "add file" method.
To move a file, you must first get the file itself as a file and not as a spreadsheet.
You need to use DriveApp.getFileById()
to retrieve a file object that you can then pass into ArchiveFolder.addFile()
.
Additionally you have some syntax errors with your code.
- You are using an assignment operator
=
instead of a comparative operator==
or'==='
to compareTransferComplete
to"Yes"
- You don't need a statement seperator
;
at the end of an if statement You are using
&&
to separate two statements, you need to separate them like soif(TransferComplete == "Yes" ){ ArchiveFolder.addFile(File); ActiveFolder.removeFile(File); }
Corrected code:
function onEdit() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var file = DriveApp.getFileById(spreadsheet.getId());
var transfeComplete = spreadsheet.getSheetByName("Sheet9").getRange("E24").getValue();
var activeFolder = DriveApp.getFolderById("a0lweiurnawoeiuranwv");
var archivefolder = DriveApp.getFolderById("apsleriuoavwnoeiura");
if (transfeComplete === "Yes" ){
archivefolder.addFile(file);
activeFolder.removeFile(file);
}
}
这篇关于如何将当前文件移动到文件夹?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!