2010-11-18 9 views
2

Je continue d'obtenir cette erreur lorsque j'essaie d'exécuter ce script. Il a très bien fonctionné pendant plusieurs jours. C'est dans une feuille de calcul Google Docs. TypeError: Impossible d'appeler la méthode "getRange" de null.TypeError: Impossible d'appeler la méthode "getRange" de null. (ligne 0)

(ligne 0)

ss = SpreadsheetApp.getActiveSpreadsheet(); 


function onOpen() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var menuEntries = [ {name: "New PO", functionName: "NewPO"}]; 
    ss.addMenu("New PO", menuEntries); 
} 


function NewPO() { 
    SpreadsheetApp.getActiveSheet().insertRowsBefore(1,6); 


    // Adjust this range accordingly, these are the cells that will be 
    // copied. Format is getRange(startRow, startCol, numRows, numCols) 
    ss.getSheetByName("PO Form").getRange(1, 1, 6, 8) 
    .copyTo(SpreadsheetApp.getActiveSheet().getRange(1, 1, 6, 8)); 
    } 


function onEdit(e) { 
    var ss = e.source.getActiveSheet(); 
    var r = e.source.getActiveRange(); 
    // 1 is A, 2 is B, ... 8 is H 
    if (r.getColumn() == 8 && r.getValue() == "x") { 
    r.setValue(Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd")); 
    } 
} 

Y at-il quelque chose que vous pouvez voir qui causerait cette erreur?

Répondre

3

Avez-vous vérifié la valeur de retour de ss.getSheetByName("PO Form"). Il s'agit probablement de null. Vous avez également une variable de niveau de classe nommée ss ainsi que des variables de méthode nommées ss. Ce type d'observation peut entraîner des problèmes si vous n'êtes pas très prudent.

+0

Merci. J'ai changé le nom de la feuille et n'y ai même pas pensé. Je suis très très nouveau pour javascript. Par hasard, pouvez-vous regarder mon autre question que j'ai posté et voir si vous avez un conseil à ce sujet? – David