2012-10-20 11 views
11

Sto scrivendo uno script di google su un foglio di calcolo. Voglio distribuirlo come un'app Web. Mostra alcuni valori. Purtroppo, con il mio codice attuale, google mi ricorda:Accesso al foglio di calcolo in Google Script

TypeError: Cannot call method "getSheetByName" of null.

Non ho idea di dove l'errore è.

Ecco il codice

function doGet(e) { 
    var app = UiApp.createApplication().setTitle('Details'); 
    var ss = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; 
    var dataFromCell = ss.getRange("B4").getValue(); 

    var mypanel = app.createVerticalPanel(); 
    var label = app.createLabel(dataFromCell); 

    app.add(mypanel); 
    app.add(label); 

    return app; 
} 

risposta

28

In webapps standalone, non è possibile utilizzare getActiveSpreadsheet perché nessuno lo sta usando attivamente ... Usa SpreadsheetApp.openById('ID') invece, è possibile ottenere l'ID nel URL del vostro foglio di calcolo come in questo esempio:

https://docs.google.com/spreadsheet/ccc?key=0AnqSFd3iikE3d-------nZIV0JQQ0c1a3dWX1dQbGc#gid=0 

tra key= e #, cioè 0AnqSFd3iikE3d-------nZIV0JQQ0c1a3dWX1dQbGc

+0

Grazie mille !!!!!!!!!!!!! Funziona! Eccellente esempio! – user1761850

+0

non c'è bisogno di usare l'ID, vedi la mia soluzione ... –

+0

:) "Se non sei sicuro allora perché downvotare la mia risposta? Per favore riconsidera ..." oh mio dio –

2

Non è necessario utilizzare l'ID, basta provare questo codice (modifica mygooglelocation con il nome del foglio di calcolo e l'intervallo di celle. Funzionando molto bene per me con google maps ...

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('mygooglelocation'); 
    var ss = SpreadsheetApp.getActive(); 
    var mylocationInfo = ss.getRange("A2:B4").getValues(); 
+1

Ho paura di aver frainteso la domanda ... si trattava di webapp che girano indipendentemente dal foglio di calcolo in una doGet/struttura di ritorno. Se vuoi dimostrare il tuo punto per favore mostra un esempio completo. –

+0

poi sarà il mio errore ... Ho visto molti errori su internet su getRange (...). GetValue() e suppongo che sia lo stesso problema ... –

+0

Se non sei sicuro allora perché downvotare la mia risposta? Ti preghiamo di riconsiderare ... –

Problemi correlati