Tac*_*tus 5 file duplicates google-apps-script
我只是想复制一个打开的工作表文件。我尝试了很多变化都没有成功。下面是一个例子。会重视任何帮助。谢谢你。
function copyDocs() {
var file = DriveApp.getFilesByName('My Income Statement');
file.makeCopy();
}
Run Code Online (Sandbox Code Playgroud)
使用检索的数据DriveApp.getFilesByName()是FileIterator。在这种情况下,使用 检索文件next()。
示例脚本有 2 种模式。
如果驱动器中的文件名只有一个,则可以使用以下示例脚本。此示例使用文件名复制文件。
function copyDocs() {
var file = DriveApp.getFilesByName('My Income Statement').next();
file.makeCopy();
}
Run Code Online (Sandbox Code Playgroud)
如果存在具有相同文件名的文件,并且您想复制其中之一,则可以使用以下示例脚本。此示例使用 fileID 复制文件。可以按如下方式检索文件 ID。
对于文档,
https://docs.google.com/document/d/### File ID ###/edit
Run Code Online (Sandbox Code Playgroud)
对于电子表格,
https://docs.google.com/spreadsheets/d/### File ID ###/edit
Run Code Online (Sandbox Code Playgroud)
示例脚本:
function copyDocs() {
var file = DriveApp.getFileById("### File ID ###");
file.makeCopy();
}
Run Code Online (Sandbox Code Playgroud)
此示例用于使用电子表格上的对话框打开复制的文件。由于复制的文件作为新窗口打开,请允许打开弹出窗口。
dialog()。通过上述流程,文件fileId被复制并作为新窗口打开。
function dialog() {
var data = '<input type="button" value="copy" onclick="google.script.run.withSuccessHandler(openfile).filecopy();"><script>function openfile(url) {window.open(url);}</script>';
var html = HtmlService.createHtmlOutput(data);
SpreadsheetApp.getUi().showModalDialog(html, 'Sample dialog');
}
function filecopy(){
var fileId = "### File ID ###";
return DriveApp.getFileById(fileId).makeCopy().getUrl();
}
Run Code Online (Sandbox Code Playgroud)