Google脚本会选择Google电子表格中的整行

时间:2018-06-12 11:14:51

标签: google-apps-script google-sheets

我想知道我们是否可以使用Google脚本选择电子表格中的一行enter image description here

无论如何我首先尝试使用这个功能但是我得到了数据的错误(找不到):如果你有一个想法:)

  function testGetFullColumn()
{
  getFullColumn('A', 1) ;
}

// This function gets the full column Range like doing 'A1:A9999' in excel
// @param {String} column The column name to get ('A', 'G', etc)
// @param {Number} startIndex The row number to start from (1, 5, 15)
// @return {Range} The "Range" object containing the full column: https://developers.google.com/apps-script/class_range
function getFullColumn(column, startIndex){
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var lastRow = sheet.getLastRow();
  return sheet.getRange(column+startIndex+':'+column+lastRow);
}

编辑:我知道关于getRange但我会很酷^^^^^^在视觉上看到我喜欢的照片中的选择,因为我尝试了

var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; return sheet.getDataRange();

并且它没有在视觉上选择所有工作表我的意思是我希望看到交互式选择:)例如here

编辑2:我试图在getRange之后使用setActiveRange,因为你建议感谢Guilherme M,但它没有直观地选择所有文档:(你的代码工作真的很酷^ I was afraid that it's impossible to select我会尝试做同样的感谢^^

 function testGet()
{
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var range =  sheet.getDataRange();
  SpreadsheetApp.setActiveRange(range)
}

编辑3:要选择我尝试过此代码的所有文档:

var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
 var lastRow = sheet.getLastRow();
 var lastColumn = sheet.getLastColumn();

  var range = sheet.getRange(1,1,lastRow+1,lastColumn+1);
 sheet.setActiveRange(range);

 var selection = sheet.getSelection();
 // Current cell: A1
 var currentCell = selection.getCurrentCell();
 // Active Range: tout le document
 var activeRange = selection.getActiveRange();

1 个答案:

答案 0 :(得分:2)

是的,您可以使用Apps脚本在电子表格中选择行或任何范围。您可以使用方法setActiveRange()执行此操作。下面是一个例子:

 var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
 var range = sheet.getRange('A1:D4');
 sheet.setActiveRange(range);

 var selection = sheet.getSelection();
 // Current cell: A1
 var currentCell = selection.getCurrentCell();
 // Active Range: A1:D4
 var activeRange = selection.getActiveRange();

注意方法getDataRange()选择范围"其中存在数据。",因此它不会选择空白单元格或整个文档。对于此类任务,您需要将方法getRange(row, column, numRows, numColumns)getMaxRows()getMaxColumns()结合使用。

var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns());
sheet.setActiveRange(range);

var selection = sheet.getSelection();
// Current cell: A1
var currentCell = selection.getCurrentCell();
// Active Range: A1:D4
var activeRange = selection.getActiveRange();