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

この質問は 2 年前のものですが、DocsList が廃止されたため、更新されたソリューションを投稿すると思いました。私は同じ問題を理解しようとしていましたが、DriveApp を使用してこの回答に出くわしました。

于 2015-05-07T18:35:52.847 に答える
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 に答える