Google скрипт выбирает всю строку в таблице Google - PullRequest
0 голосов
/ 12 июня 2018

Я хочу знать, можем ли мы выбрать строку в электронной таблице, используя скрипт Google, как этот введите описание изображения здесь

В любом случае, сначала я попробовал использовать столбцы с помощью этой функции.но я получаю сообщение об ошибке (не найдено): Если у вас есть идея:)

  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();

, и он не выделяет весь лист визуально. Я имею в виду, что я хочу увидеть интерактивный выбор:) как здесь

Редактировать 2: Я пытался использовать setActiveRange после getRange, как вы предложили, спасибо Гильерме М, но он не выбирает визуально весь документ :( Ваш код работает, это действительнокруто ^ Я боялся, что невозможно выбрать Я постараюсь сделать то же самое спасибо ^^

 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 голосов
/ 12 июня 2018

Да, вы можете выбрать строку или любой диапазон в электронной таблице с помощью Apps Script.Вы делаете это методом 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...