2017-10-06 3 views
0

Je travaille avec une feuille de calcul this, et la recherche de la la ligne et la colonne dans laquelle une certaine chaîne en elle, en utilisant le code suivant:trouver une chaîne sur une feuille de calcul se comporte script app google bizarre

function test(){ 
var searchFor ="theFilename"; 
    var files = DriveApp.searchFiles(searchFor); 
    var file = files.next(); 
    var spreadsheet = SpreadsheetApp.openById(file.getId()); 
    var sheet = spreadsheet.getSheets()[0]; 
    var array = sheet.getDataRange().getDisplayValues(); 
    // file date 
    var searchString = 'Listado';   
    var RC = getColumn(array,searchString); 
    var Column = RC.Column; 
    var Row = RC.Row-1; 
    var date = array[Row,Column].toString(); 
    Logger.log(Row+':'+Column+':'+date);  
} 
function getColumn(array,searchString){ 
    for (var i = 0; i < array.length; i++) {   
    for (var j = 0; j < array[i].length; j++) {   
     if (array[i][j].toString().indexOf(searchString)>-1) { 
     Logger.log(i+':'+j+':'+array[i][j].toString()); 
     var Row = i+1; 
     var Column = j; 
     return {Row: Row, Column: Column}; 
     }  
    } 
    } 
    return null; 
} 

le problème est que, dans la ligne Logger.log en fonction getColumn montre ce qui est prévu est 2:3:Listado de Licitaciones Publicadas al 05/10/2017 07:12, mais la ligne Logger.log fonction de test, qui doit montrer la même chose que l'autre, il montre 2:3:,,,,,,,,,,,,,,,,,, à la place ...

Que se passe-t-il?

Répondre

2

Le array index pour [row, column] valeur serait array[][]

// Change the array index of date to 
var date = array[Row][Column].toString(); 
+0

C'est si bon. Je suppose que le codage en cas de fatigue n'est pas très productif ... merci –