Мне нужно ввести данные в ячейку листа Google, которая находится в именованном диапазоне.Чтобы сделать это с помощью Google Script, мне нужно знать номер столбца именованного диапазона.Я написал скрипт, который выполняет работу, но только потому, что я знаю, что в именованном диапазоне есть только один столбец, поэтому я использую команду getLastColumn, чтобы получить номер столбца.Я знаю, что должна быть команда getColumnNumber или что-то в этом роде, но из документации Google и этого сайта я просто не могу ее найти.Любая помощь?Привязанный скрипт ниже:
function addSong() {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getActiveSheet();
var lastRow = sheet.getLastRow()
sheet.appendRow([lastRow+1]);
SpreadsheetApp.flush();
var range = sheet.getRange(sheet.getLastRow(), 1);
var songTitle = Browser.inputBox('New Song', 'Enter the song title', Browser.Buttons.OK_CANCEL);
var namedRange = sheet.getRange("Title");
var col = namedRange.getLastColumn();
sheet.getRange([lastRow+1], col).setValue(songTitle)
SpreadsheetApp.setActiveRange(range);
}
Привет, Купер: Я попробовал твой подход, и он отлично работает, за исключением того, что теряет часть того, что я делал со своим скриптом;в частности, он не увеличивает номер записи песни.Итак, я добавил ключевой бит из того, что вы сделали, чтобы правильно вставить столбец именованного диапазона в мой код, и все это работает.Пересмотренный код:
function addSong() {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getActiveSheet();
var lastRow = sheet.getLastRow()
sheet.appendRow([lastRow+1]);
SpreadsheetApp.flush();
var range = sheet.getRange(sheet.getLastRow(), 1);
var songTitle = Browser.inputBox('New Song', 'Enter the song title', Browser.Buttons.OK_CANCEL);
var namedRange = sheet.getRange("Title");
var range=sheet.getRange(sheet.getLastRow(), namedRange.getColumn())
range.setValue(songTitle);
SpreadsheetApp.setActiveRange(range);
}