如何将当前文件移动到文件夹? [英] How to I move the current file to a folder?

查看:92
本文介绍了如何将当前文件移动到文件夹?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将当前文件移动到一个文件夹中,并根据单元格值更改将其从所在文件夹中移除。这里是我的:

  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 compare TransferComplete 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 so

    if(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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆