2013-02-01 5 views
0

Quelqu'un at-il jamais rencontré cette erreur avant de RUNNING UI App publiée en tant qu'application Web ?:erreur rencontrée: méthode ne peut pas trouver (classe) getRange ((classe), le numéro, le numéro, le numéro)

Error encountered: Cannot find method (class)getRange((class),number,number,number). 

I googlé la phrase et est venu avec zéro résultats de recherche.

L'application Web se charge correctement à partir du doGet() et l'erreur s'affiche après le fonctionnement d'un petit gestionnaire de serveur. Chose est le gestionnaire gère tout bien (Mon "traitement ..." étiquette à la fin de la fonction de gestionnaire passe la visibilité off) et la feuille de calcul que j'appelle est mis à jour sans problème. J'ai vérifié mon code, et tous mes getRanges sont correctement formatés avec sheet.getRange(row,col,num,num). GAS a agi bizarre une fois hier avec une erreur bizarre il semble quand ils ont mis à jour la capacité de recherche Ctrl-F hier, mais cela a été corrigé avec un simple rafraîchissement de cette page. Je me suis rafraîchi après la nouvelle erreur d'aujourd'hui, mais il apparaît toujours après l'exécution du gestionnaire. Quelqu'un d'autre se heurte-t-il à cela ou a-t-il une solution?


Eh bien, je copie coller le code dans un autre script, et a fait une copie de la feuille de calcul, je fais appel, mais je reçois toujours l'erreur. Voici le code « fautif », selon le déclencheur d'erreur de Google:

function addNewCo(e) { 
    var app=UiApp.getActiveApplication(); 
    var newCoName=e.parameter.newCoName; 
    coSheet.appendRow([newCoName]); 
    coSheet.sort(1,true); 
    var coSheetValues=coSheet.getRange(2,1,coSheet.getLastRow()-1,coSheet.getLastColumn()).getValues(); 
    app.getElementById('coNameLB').clear().addItem(newCoName).addItem('').addItem('Select Company ---'); 
    for (i=0;i<coSheetValues.length;i++){ app.getElementById('coNameLB').addItem(coSheetValues[i][coSheetColNamesArray.indexOf('Company Name')]); } 
    app.getElementById('popupPanel').setVisible(false); 
    app.getElementById('GoBtn').setStyleAttribute('background','#2a9c3b').setEnabled(true); 
    app.getElementById('processingLbl').setVisible(false); 
    return app; 
} 

Comme je l'ai dit plus haut, le gestionnaire est fonction le complète, alors pourquoi cette erreur se popping vers moi?


Cela devient vraiment fou. J'ai enlevé toute référence à la feuille après l'ajout et le tri, en d'autres termes j'ai enlevé le getRange dans la fonction de gestionnaire tout à fait, mais l'erreur continue toujours d'apparaître! Je n'appelle même pas un getRange, alors comment peut-il encore apparaître l'erreur?


Incroyable. Maintenant, j'ai enlevé toute mention de la feuille de calcul du gestionnaire, et j'ai TOUJOURS l'erreur. Que diable Google?!? L'amende fonction charge doGet(), l'erreur ne vient à l'aide du gestionnaire - même quand il n'y a aucune mention de la feuille de calcul - ce que dans le monde:

function addNewCo(e) { 
    var app=UiApp.getActiveApplication(); 
    var newCoName=e.parameter.newCoName; 
    app.getElementById('coNameLB').clear().addItem(newCoName).addItem('').addItem('Select Company ---'); 
    app.getElementById('popupPanel').setVisible(false); 
    app.getElementById('GoBtn').setStyleAttribute('background','#2a9c3b').setEnabled(true); 
    app.getElementById('processingLbl').setVisible(false); 
    return app; 
} 

J'ai dépouillé la fonction de gestionnaire à?!? Fermeture de la fenêtre et j'ai toujours l'erreur.

function addNewCo(e) { 
    var app=UiApp.getActiveApplication(); 
    app.getElementById('popupPanel').setVisible(false); 
    return app; 
} 

Quelqu'un de Google ici se soucie-t-il de vous aider?

+0

Je reçois maintenant même cette erreur des versions enregistrées il ya des heures. – user1783229

Répondre

3

L'a corrigé. J'ai eu une zone de texte dans le cadre d'un tableau de champs obtenant d'autres gestionnaires de focalisation où cela n'aurait pas dû être. Serait très utile, Google, si vous aviez une liste de vos erreurs cryptiques et leur signification quelque part et si le numéro de ligne apparaissait sur la boîte de dialogue de message d'erreur indiquant où le problème est ainsi nous n'avons pas à parcourir des centaines de lignes de code. Il est ridicule qu'une recherche google pour un message d'erreur à partir d'un script google apps ne renvoie aucun résultat. 2 heures perdues.