2012-09-05 2 views
0

Comment pouvons-nous retourner le A1Notation de chaque élément dans une plage?getA1Notation de chaque élément dans une gamme

function getA1Notation() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var s = ss.getSheetByName('Sheet1'); 
    var range = s.getRange('A1:B3'); 

    for (var row in range) { 
    for (var col in range[row]) 
     Logger.log(range[row][col].getA1Notation()); 
    } 
}; 

Je sais que nous ne pouvons le faire de cette façon, mais voici les résultats que je me attends ...

A1 A2 A3 B1 B2 B3

+0

Je ne sais pas autrement que d'utiliser un 'getRange' (ou au moins un' offset') dans la boucle, ou en utilisant Javascript pour construire les A1Notations en utilisant la référence en haut à gauche et la taille de la plage. – AdamL

+0

Oui, un décalage en haut à gauche est ce dont j'avais besoin, merci. 'Logger.log (. S.getRange ('A1') de décalage (ligne, colonne, 1, 1) .getA1Notation());' –

Répondre

0

Je ne comme ceci:

results.formulas = getRangeFormulas(guiRange); 
results.a1Notation = new Array(results.formulas.length); 
var guiDataSheetName = guiRange.getSheet().getName(); 
for (var row in results.formulas) { 
    results.a1Notation[row] = new Array(results.formulas[row].length);  
    for (var col in results.formulas[row]) {  
    results.a1Notation[row][col] = guiDataSheetName+"!" + guiRange.offset(row,col,1,1).getA1Notation(); 
    } 
    //Logger.log("5get data"+ (new Date().getTime() - executionTime.getTime())); 
} 

Je reçois le nom de la feuille en dehors de la boucle car il nécessite s un appel de serveur client.

Questions connexes