getRange
alan yerine adlandırılmış bir menzile sahip olmak için kullanılabilir mi?
Bunu yaptığımda, argümanın bir aralık olması gerektiğini söylüyor. Örneğin ,getRange ile belirtilen aralık google elektronik tabloları kullanarak komut dosyaları
yerine:
getRange("A4:E7");
A4:E7
alanı Sayfa1'deki 'İsimler' adlı bir adlandırılmış aralığa yapılmıştır.
belki kullanmak Could:
var tableRange = SpreadsheetApp.getActiveSpreadsheet();.getRangeByName("Names");
getRange(tableRange);
Veya bunu yapmanın başka bir yolu yoktur. Tam kodu:
function onEdit(event){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var editedCell = ss.getActiveCell();
var columnToSortBy = 1;
var tableRange = ss.getRangeByName("Names");
if(editedCell.getColumn() == columnToSortBy){
var range = ss.getRange(tableRange);
range.sort({ column : columnToSortBy });
}
}
Yine de buna takıldım - google betiğinin neden tanımlanmış ismin kullanılmasına izin verdiğinden emin değilim – user1658604
Sorununuza bir cevap değil, sadece bir öneri: "getActiveCell()' "ye ihtiyacınız yoktur). Düzenleme olayı düzenlenmiş aralığını komut dosyasına iletir, böylece yalnızca 'event.range.getColumn() 'işlevini kullanabilirsiniz. – Tharkon