这个问题教导如何调整文件的文件夹,将其移动到特定的文件夹,并从根。
它也建议使用folder.createFile直接在目标文件夹创建它...但它出现的CreateFile仅适用于文档...有没有办法直接在一个特定的文件夹创建一个电子表格?
这个问题教导如何调整文件的文件夹,将其移动到特定的文件夹,并从根。
它也建议使用folder.createFile直接在目标文件夹创建它...但它出现的CreateFile仅适用于文档...有没有办法直接在一个特定的文件夹创建一个电子表格?
由于已超出DocsList已被弃用,目前以下解决方案的工作原理:
var folder=DriveApp.getFoldersByName(folderName).next();//gets first folder with the given foldername
var file=SpreadsheetApp.create(fileName);
var copyFile=DriveApp.getFileById(file.getId());
folder.addFile(copyFile);
DriveApp.getRootFolder().removeFile(copyFile);
创建使用Google Apps脚本不正规谷歌账号和谷歌企业应用套件标准版帐户工作表格。 但是,你总是可以让一个虚拟的电子表格的副本,然后相应地使用谷歌Apps脚本进行修改。 下面是一个示例代码。
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);
}
已经给出的答案似乎不工作,也许他们是过时的。
下面是我的回答(为我工作)。
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);
}
诚然,我的回答是从以前的,其中没有做正是我需要的。 该功能已经过测试,目前谷歌Apps脚本和电子表格文档。 重复的文件夹名称,将工作,但将文件移动到该API返回的第一个文件夹。
// Arguments are a file object and a folder name. function moveFileToFolder(file, folderName) { var folders = DriveApp.getFoldersByName(folderName); var copyFile = DriveApp.getFileById(file.getId()); if (folders.hasNext()) { var folder = folders.next(); folder.addFile(copyFile); DriveApp.getRootFolder().removeFile(copyFile); } }
现在可以在一个特定的文件夹中创建谷歌电子表格。 对于那些需要使用先进的驱动服务V2。 从谷歌应用程序的脚本编辑器高级服务菜单中启用它。
var oFile = placeGoogleSpreadsheetInSpecificFolder("my file", "target folder id");
var oSpreadsheet = SpreadsheetApp.open(DriveApp.getFileById(oFile.getId()));
function placeGoogleSpreadsheetInSpecificFolder(sSpreadsheetName, sTargetFolderId) {
var oGeneratedFile = Drive.Files.insert({
"mimeType": "application/vnd.google-apps.spreadsheet",
"parents": [{
id: sTargetFolderId
}],
"title": sSpreadsheetName
});
return oGeneratedFile;
}
该解决方案完美地工作对我罚款。
此代码对我的作品,我觉得这是没有办法避免的一步“从根源消除”,至少不是我所知道。
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
}
这个问题已经在beeen answerd。 https://stackoverflow.com/a/19610700这是一个很好solustion。
folder.createFile("name", '',MimeType.GOOGLE_SHEETS);
使用任何东西,但一个空字符串给我留下了一个错误。