2012-10-20 13 views
11

Elektronik tablonun üzerinde bir google komut dosyası yazıyorum. Bir web uygulaması olarak dağıtmak istiyorum. Bazı değerler gösterir. Maalesef benim şimdiki koduyla, google hatırlatıyor:E-tabloya Google Komut Dosyası'nda erişme

TypeError: Cannot call method "getSheetByName" of null.

Ben hatadır hiçbir fikrim yok.

İşte bu gibi e-tablonuzun url kimliğini alabilirsiniz yerine kod kimse aktif kullanıyor çünkü getActiveSpreadsheet kullanamazsınız bağımsız webapps ise

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; 
} 

cevap

28

... kullanın SpreadsheetApp.openById('ID') var örnek: key= ve # arasında

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

örneğin, 0AnqSFd3iikE3d-------nZIV0JQQ0c1a3dWX1dQbGc

+0

Çok teşekkür ederim !!!!!!!!!!!!! Çalışıyor! Mükemmel örnek! – user1761850

+0

Kimlik kullanmanıza gerek yok benim çözümüme bakın ... –

+0

:) "Eğer emin değilseniz neden cevabımı reddediyorsunuz? Lütfen yeniden düşünün ..." aman tanrım –

2

Kimlik kullanmanıza gerek yok, sadece bu kodu deneyin (elektronik tablomuz ile E-tablo adınızı ve hücre aralığınızı değiştirin. Google Maps ile benim için çok iyi çalışıyor ...

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

Korkarım soruyu yanlış anladınız ... bu bir doGet'te e-tablodan bağımsız olarak çalışan webapps hakkındaydı/dönüş yapısı. Eğer noktanızı kanıtlamak istiyorsanız, lütfen tam bir örnek gösteriniz. –

+0

o zaman benim hatam olacak ... İnternette getRange (...). GetValue() ile ilgili pek çok hata gördüm ve sanırım aynı sorun var ... –

+0

Eğer emin değilseniz, neden cevabımı reddediyorsun? Lütfen tekrar gözden geçirin ... –

İlgili konular