Google apps script 基于自定义模板生成新的电子表格/工作簿

Google apps script 基于自定义模板生成新的电子表格/工作簿,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我想知道是否可以根据事先准备好的自定义模板创建/生成新的电子表格/工作簿 我希望它被分配到一个按钮并显示在我的当前工作表上,因为我希望将当前工作表中的一些信息带入/复制到生成的工作表中 是否也可以仅复制选定的范围?例如,我选择了A2:G2,然后这些单元格将复制到生成的单元格中的B5:H5 我知道使用Create函数 function createnew() { var ssNew = SpreadsheetApp.create("SheetName"); Logger.log(s

我想知道是否可以根据事先准备好的自定义模板创建/生成新的电子表格/工作簿

我希望它被分配到一个按钮并显示在我的当前工作表上,因为我希望将当前工作表中的一些信息带入/复制到生成的工作表中

是否也可以仅复制选定的范围?例如,我选择了A2:G2,然后这些单元格将复制到生成的单元格中的B5:H5

我知道使用Create函数

function createnew() {
    var ssNew = SpreadsheetApp.create("SheetName");
    Logger.log(ssNew.getUrl());
}
但我不知道如何让它使用我的自定义模板作为…模板

到目前为止,我得到的是:

function addnewentries() {

 var ss = SpreadsheetApp.openByUrl("SheetURL");
 var sheet = ss.getSheetByName("SheetName");
 ss.copy("Copy of " + ss.getName());

 var sss = SpreadsheetApp.openById('SourceSheetID'); 
 var ss = sss.getSheetByName('SheetName');
 var range = ss.getRange('Range'); 
 var data = range.getValues();

 var tss = SpreadsheetApp.openById('TargetSheetID'); 
 var ts = tss.getSheetByName('SheetName');
 ts.getRange('Range').setValues(data); 

}
我在将值粘贴到新复制的模板时遇到问题

不管你的帖子是什么,你上面所问的一切都是可能的 非常广泛地制定和解决多个问题

因此,给你一些广义的答案:
  • 要制作模板的副本,您可以
    • 使用该方法-这将创建模板电子表格的副本,并在模板或电子表格中有修改时动态更新副本
    • 使用和组合,它将仅静态复制模板中的值以供选择
  • 您可以使用选择起点和终点范围
  • 有了应用程序脚本代码后,可以从菜单“工具”->“宏”中将其作为宏运行,但如果希望创建按钮,可以使用
  • 从模板创建新的电子表格后,可以使用该方法检索其URL
我鼓励您尝试根据这些关键点和 当你遇到特定问题时,发布一个问题


要简单地创建模板,您不需要使用应用程序脚本;在sheets.Google.com上,使用谷歌模板或创建自己模板的按钮位于页面顶部。除此之外,复制信息、制作新的电子表格以及将信息粘贴到电子表格中是您可以理解的基本功能。请原谅,我的问题措辞不当。我已经有了一个模板,但是现在我想基于我之前准备的模板创建一个新的电子表格。但是,我还想将当前工作表中的一些信息复制到生成的工作表中。到目前为止,我只知道使用var ssNew=SpreadsheetApp.create(“SheetName”);Logger.log(ssNew.getUrl());因为我不知道如何根据我的模板创建一个。好的,我现在设法让它部分工作。但我似乎无法将值粘贴到新的电子表格中,因为它不需要目标ID吗?你对此有什么建议吗?甚至可以获取新复制的模板ID并将其包含在脚本中吗?您可以使用方法
ss.New.getId()