3

この質問は、ファイルのフォルダーを調整して、ファイルを特定のフォルダーに移動し、ルートから移動する方法を教えています。

また、folder.createFile を使用して目的のフォルダーに直接作成することも提案しています...しかし、createFile はドキュメントにのみ適用されるようです...特定のフォルダーにスプレッドシートを直接作成する方法はありますか?

4

8 に答える 8

3

Apps Script を使用したスプレッドシートの作成は、通常の Google アカウントと Google Apps Standard Edition アカウントでは機能しません。ただし、いつでもダミー スプレッドシートのコピーを作成し、Google Apps Script を使用して適宜変更することができます。これがサンプルコードです。

function createSpreadsheetInfolder() {
  var dummySS = DocsList.getFileById('ID of dummy SS');
  var myCopy = dummySS.makeCopy('My new file');
  //Get your target folder
  var folder = DocsList.getFolder('ID or path of folder');
  myCopy.addToFolder(folder);
}
于 2012-11-30T09:44:19.337 に答える
3

すでに与えられた答えはうまくいかないようです。おそらくそれらは時代遅れです。

これが私の答えです(私のために働いた)。

var folders=DriveApp.getFoldersByName("existingFolder");
while (folders.hasNext()) {
  var folder = folders.next();
  var file=SpreadsheetApp.create("the file that must be in a folder");
  var copyFile=DriveApp.getFileById(file.getId());
  folder.addFile(copyFile);
  DriveApp.getRootFolder().removeFile(copyFile);
}
于 2016-06-28T16:22:00.657 に答える
0

この質問は https://stackoverflow.com/a/19610700 で回答されています。

folder.createFile("name", '',MimeType.GOOGLE_SHEETS);

空の文字列以外を使用すると、エラーが発生します。

于 2014-01-14T14:50:25.280 に答える
0

このコードは私にとってはうまくいきます。少なくとも私が知っていることではありませんが、「ルートから削除」ステップを回避する方法はないと思います。

function createSpreadsheet() {
var folder = DocsList.getFolder('GAS');// this value as test for me
var root = DocsList.getRootFolder()
var newFileId = SpreadsheetApp.create('testNewSS').getId();// this defines the name of the new SS
var newFile = DocsList.getFileById(newFileId); // begin the 'move to folder process'
newFile.addToFolder(folder);
newFile.removeFromFolder(root);// had to do it in 2 separate steps 
}
于 2012-11-30T10:13:37.567 に答える