Мне нужно ввести данные в ячейку таблицы Google, которая находится в именованном диапазоне. Чтобы сделать это с помощью скрипта Google, мне нужно знать номер столбца именованного диапазона. Я написал сценарий, который выполняет свою работу, но только потому, что я знаю, что именованный диапазон имеет только один столбец, поэтому я использую команду 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);
}