我想知道是否已经根据预先准备好的模板来创建/生成新的电子表格/工作簿。
我希望将其分配给一个按钮并显示在当前工作表中,因为我希望将一些信息从当前工作表中复制/复制到生成的工作表中。
是否还可以仅在所选范围内进行复制?例如,我选择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);
}
在将值粘贴到新复制的模板中时遇到麻烦。
答案 0 :(得分:1)
您上面提出的所有要求都是可能的,但是您的帖子是 范围很广,可以解决多个问题。
copy()
方法-这将为您的模板电子表格创建一个副本,并在模板中进行了修改时动态更新该副本,或者getValues()
和setValues()
,它们将只为您选择的range静态复制模板中的值。get.Range()
选择起点和终点范围。Ui
class来完成。getUrl()
方法检索其URL。我鼓励您尝试根据这些要点编写一些代码, 遇到特定问题时发布问题。