google-apps-script - 谷歌应用脚本 - 从另一个人保存到文件夹
问题描述
我想将其他人的文档保存到 Google 云端硬盘中的打开文件夹中。
我尝试了以下代码,但如果我不是代码的所有者,它就不起作用。
function saveToFolder() {
var folder = DriveApp.getFolderById("###");
//var destSpreasheet = SpreadsheetApp.open(DriveApp.getFolderById(SpreadsheetApp.getActiveSpreadsheet().getId()).moveTo(folder))
//var ss = SpreadsheetApp.getActiveSpreadsheet().
//get active Sheet
var sSpreadsheet = SpreadsheetApp.getActive;
var sheetname = sSpreadsheet().getActiveSheet().getName();
var sSheet = sSpreadsheet().getSheetByName(sheetname);
//var destSpreadsheet = SpreadsheetApp.open(DriveApp.getFileById(sSpreadsheet().getId()).makeCopy("test",folder))
var destSpreadsheet = DriveApp.getFileById(sSpreadsheet().getId()).makeCopy(SpreadsheetApp.getActiveSpreadsheet().getName(), folder)
}
目标是很多人可以通过使用按钮将谷歌表格安全地保存到谷歌驱动器中的同一文件夹中。非常感谢你的帮助
解决方案
您的代码中有一些拼写错误,例如getActive()和 usingsSpreadsheet()
而不是sSpreadsheet
(请参阅链接的文档)。这是您的“固定代码”,它采用电子表格并在 Drive 文件夹中创建它的副本(代码具有不言自明的注释):
function myFunction() {
// Get folder by ID
var folder = DriveApp.getFolderById("FOLDER ID");
// Get active Spreadsheet (if this script is not bounded use openById or openByUrl)
var sSpreadsheet = SpreadsheetApp.getActive();
// Make copy
DriveApp.getFileById(sSpreadsheet.getId()).makeCopy(SpreadsheetApp.getActive().getName(), folder)
}
还要记住,要使用DriveApp,您必须首先启用 Drive API 服务。
推荐阅读
- azure-devops - 在 azure devops 中创建了 NuGet 管道
- javascript - 简化在字符串中搜索 html 元素
- javascript - Outlook 电子邮件上的按钮问题
- java - Java重复日期检查
- jquery - 如何在html表格中选择行
- excel - 插入行后尝试通过 vba 使用自动填充时,复制的公式不正确
- javascript - React useEffect 不会在路由更改时触发
- excel - VBA宏从固定数字中减去一个可变数字(动态)
- java - 我如何通过 Java 中的 grpc 将继续响应从服务器发送到客户端,比如大写?
- python - 将模板变量传递给Django中的父级