Google Apps脚本代码,用于在下一个空行

时间:2016-09-23 19:25:26

标签: google-apps-script google-sheets

我试图通过创建一个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

2 个答案:

答案 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"]);