我试图通过创建一个Google Apps脚本来简化我的生活,该脚本在我的驱动器中制作另一个模板表的副本,然后将URL和新表单的名称粘贴到我运行脚本的原始表单中。
我在下面制作的剧本就是这样做的。但是,每次运行脚本时,新URL值始终粘贴在“A12”中。如何让脚本将该值粘贴到下一个单元格?
function saveAsSpreadsheet£(){
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var ss = sheet.getSheets()[0];
var range = ss.getRange("I6");
var values = ss.getRange("A12");
var data = range.getValue();
var destFolder = DriveApp.getFolderById("xxxxxxxxxxxxxxxxxxx");
var makecopyurl = DriveApp.getFileById(sheet.getId()).makeCopy(data + " Management Workbook", destFolder).getUrl();
var npo = '=hyperlink("' + (makecopyurl) + '";"' + data + '")';
values.setValue(npo)}
以下是示例电子表格的a link。
答案 0 :(得分:2)
如果“下一个单元格”位于最后一行的正下方,则可以使用getLastRow并使用getRange(row,column):
替换
var values = ss.getRange("A12");
通过
var lastRow = ss.getLastRow();
var values = ss.getRange(lastRow + 1, 1);
答案 1 :(得分:2)
您可以使用appendRow()
此方法查找包含数据的最后一行,然后附加到下一行。
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
// Appends a new row with 3 columns to the bottom of the
// spreadsheet containing the values in the array
sheet.appendRow(["a man", "a plan", "panama"]);