0

我使用以下代码创建一个新的电子表格。

function addNewSpreadsheetWithFolderShift()
{
var source = SpreadsheetApp.getActive();

var SSID=source.getId();
var fileInDocs = DocsList.getFileById(SSID);
var folder=fileInDocs.getParents()[0];
var folderName = folder.getName();
var folderID = folder.getId();
var TimeZone=Session.getTimeZone();
var DTStamp= Utilities.formatDate(new Date(), TimeZone, 'yyyy:MM:dd  HH:mm:ss  zzz');
var User=Session.getEffectiveUser().getEmail();
var output_name=DTStamp+"LineChecks"
var ssOut = SpreadsheetApp.create(output_name);  // Create a new spreadsheet, output_name.
ssOut.addToFolder(folder);
}

它在我的根目录中结束。我希望它在我开始的目录中结束。我尝试使用 addToFolder 但似乎只能使用它移动文件。有什么方法可以移动新创建的电子表格吗?

4

2 回答 2

0

您可以在创建文件后使用 DocsList 服务移动文件,尝试如下:

  ...
  var ssOut = SpreadsheetApp.create(output_name);  // Create a new spreadsheet, output_name.
  var root = DocsList.getRootFolder();
  var folder = DocsList.getFolderById('your folder Id');// or use getFolderByName if you want
  var ssOutId = ssOut.getId();
  var newFile = DocsList.getFileById(ssOutId); // begin the 'move to folder process'
  newFile.addToFolder(folder);
  newFile.removeFromFolder(root);// had to do it in 2 separate steps 
}
于 2013-11-13T19:51:31.133 回答
0

即使这个问题已经有 2 年了,我想我会发布一个更新的解决方案,因为 DocsList 已被弃用。我试图找出同样的问题,并使用DriveApp 找到了这个答案。

于 2015-05-07T18:35:52.847 回答