【发布时间】:2021-03-17 11:54:00
【问题描述】:
我有一个代码可以创建主工作表的副本并将其保存在特定文件夹中。
这样做的原因是访问工作表的人不会弄乱主工作表,而是编辑自己的副本。
我的代码只创建副本,但在用户需要打开他们保存的副本并对其进行编辑时不知所措。这应该在打开主表时自动发生。我将不胜感激。
这是我的代码:
function onOpen(e){
var Book = SpreadsheetApp.openById(PCDF_sheet_id);
var Tab = Book.getSheetByName(PCDF_tab_name);
var PCDF_Data = Tab.getDataRange().getValues();
var user = Session.getEffectiveUser().getUsername();
var dest = DriveApp.getFolderById(Copy_Folder_id);
var name = Book.getName()+ user + " Copy ";
var newfile = DriveApp.getFileById(Book.getId()).makeCopy(name,dest);
var newSpreadsheet = SpreadsheetApp.open(newfile);
SpreadsheetApp.setActiveSpreadsheet(newSpreadsheet)
}
【问题讨论】:
-
这非常相关:stackoverflow.com/q/11315521/11225291 我认为这是重定向到页面(在本例中为电子表格页面)的唯一方法。
-
@Mario,感谢您回复马里奥。实际上,我可以重定向。我的挑战是如何确保在重定向时选择创建的副本。
-
代码究竟是如何重定向的?重定向是什么意思?
setActiveSpreadsheet不打开电子表格,它在脚本中激活。 -
用户类中没有getUsername()方法
-
您是否尝试过使用
getUrl方法?你是否也有重定向功能,如果有,它是什么样子的? @Just
标签: javascript arrays google-apps-script google-sheets google-drive-api