【问题标题】:how to get the first empty row in google drive spreadsheet?如何获取谷歌驱动器电子表格中的第一个空行?
【发布时间】:2015-07-21 00:39:39
【问题描述】:

我需要一个脚本来查找谷歌电子表格驱动器的第一个空行,或者在第一个空行中打开此电子表格。

所以,我尝试了这个:

function onOpen(){
var menu = SpreadsheetApp.getUi();
menu.createMenu('Audit PS')
     .addItem('Colar', 'getFirstEmptyRowByColumnArray')
  .addToUi();
}

function getFirstEmptyRowByColumnArray() {
  var spr = SpreadsheetApp.getActiveSpreadsheet();
  var column = spr.getRange('A:A');
  var values = column.getValues(); 
  var ct = 0;
  while ( values[ct] && values[ct][0] != "" ) {
    ct++;
  }
 return (ct+1); 
}

菜单已创建,通过单击它,脚本将运行。但是电子表格中什么也没有发生。

怎么了?

【问题讨论】:

  • 为什么会发生什么事?代码没有改变任何东西,甚至没有在任何地方显示结果。
  • 那么我如何让这个脚本返回第一个空行?
  • 退货是什么意思?在工作表上选择它?请参阅电子表格应用表方法。
  • 我的意思是这个脚本如何显示电子表格中的第一个空行?我需要的是当我打开电子表格时,脚本指向第一个空行。我对脚本一无所知,但我在另一个问题上发现了这一点。

标签: google-apps-script


【解决方案1】:

有点不清楚你想要完成什么,但我会根据我认为你的目标尽我所能提供帮助。
听起来您想选择电子表格中的最后一行,其中包含一列。不确定您是要获取单元格对象还是只是将其设置为活动状态。
所以首先,您只选择电子表格,而不是工作表,所以我建议将 getActiveSpreadsheet() 更改为 getActiveSheet()。 所以现在让我们假设您的代码如下所示:
var sheet = SpreadsheetApp.getActiveSheet();
要获取此工作表中包含数据的单元格范围,请使用工作表上的 .getDataRange() 函数。然后,您可以使用 .getLastRow() 函数获取包含数据的最后一行。一旦你知道了这一点,你就拥有了你需要的所有信息。如果您尝试获取单元格对象,您的代码将如下所示"

var sheet = SpreadsheetApp.getActiveSheet();
var lastRow = sheet.getDataRange().getLastRow(); var cell = sheet.getRange(lastRow + 1, 1); // Substituted whatever column for the second argument

你还没有指定一旦你得到细胞你想做什么,所以你必须自己弄清楚其余的!希望这可以帮助。

【讨论】:

  • 谢谢乔纳森!我想将光标指向第一个空单元格,这样我就不会手动找到。我尝试了函数 selectFirstEmptyRow() 和 getFirstEmptyRowByColumnArray(),但是,它仅在电子表格填充几行时运行。这个脚本有什么限制吗?我该如何解决?
  • 我对工作表不是很有经验,但我相信您可以使用我上面提供的代码并使用 .setActiveRange 或 .setActiveSelection 函数并提供单元格变量作为参数来完成此操作。
猜你喜欢
  • 1970-01-01
  • 2023-03-22
  • 2015-01-25
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-01
相关资源
最近更新 更多