我确实有两个不同的Google工作表,我需要使用脚本将工作表测试从一个脚本复制到另一个工作表,但是却出现错误,对此有何想法?
var source_sheet= "https://address of the otgoogle sheet tho be copied over")"
//here I'm on another google sheet, add a menu to copy the source from above
var ui = SpreadsheetApp.getUi();
//var ss = SpreadsheetApp.getActiveSpreadsheet();
var result = ui.prompt(
'Add New Sheet',
'Please enter Name',
ui.ButtonSet.OK);
var button = result.getSelectedButton();
var text = result.getResponseText();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
sheet.copyTo(link_to_src).setName(text);
得到以下错误: 例外:参数(字符串)与SpreadsheetApp.Sheet.copyTo的方法签名不匹配。 (第xx行,文件为“ copy-rename”)DetailsDismiss
任何帮助将不胜感激。
答案 0 :(得分:3)
source_sheet
是电子表格的网址,类似于https://docs.google.com/spreadsheets/d/{spreadsheetId}/edit
。我可以像上面那样理解。如果我的理解是正确的,那么该修改如何?
请按如下所示修改脚本。在运行脚本之前,请将目标电子表格网址设置为source_sheet
。
var sheet = ss.getActiveSheet();
sheet.copyTo(link_to_src).setName(text);
至:
var sourceSheet = SpreadsheetApp.openByUrl(source_sheet).getSheetByName(text);
if (sourceSheet) {
sourceSheet.copyTo(ss).setName(text).activate();
} else {
ui.alert(text + " sheet was not found.");
}