5

Ho più di 200 fogli elettronici che i nostri clienti riempiono. Ho sviluppato uno script per gestire i fogli di calcolo che è fondamentalmente identico nella funzione.Come utilizzare un codice per più fogli di lavoro che possono essere aggiornati, provare a utilizzare la libreria

Il problema è quando modifico lo script che devo modificare in tutti questi fogli. Ho provato a utilizzare le librerie ma senza successo e spero di sapere se qualcuno conosce una risposta.

La versione di libreria che includo (con sviluppo su) in ciascun foglio di calcolo non mostra la modifica. Mostrerà solo i risultati al momento dell'inclusione, il che significa che per fare questo lavoro devo andare su ciascuno dei fogli di calcolo, rimuovere la libreria e reinstallare la versione più recente. La libreria aggiornata funziona solo dall'account del mio proprietario. La biblioteca è ovviamente condivisa da chiunque abbia un link. Esecuzione funzione di aggiornamento di una libreria in uno qualsiasi dei fogli di calcolo produce un errore: "TypeError: Impossibile trovare la funzione FunctionName in oggetto [oggetto oggetto] (linea 2, del file. 'Test')"

C'è un buon modo per avere tutti i fogli di lavoro lo stesso codice che posso modificare ogni volta che desidero?

+1

La vostra biblioteca ha bisogno di "chiunque può modificare" il permesso di condivisione se questo non è già impostato, ma si è in grado di condividere alcuni esempi di codice dalla tua libreria e dagli script slave che non vengono aggiornati? –

+1

Sembra che questo non sia ancora possibile: http://stackoverflow.com/questions/10500764/is-it-possible-to-have-one-script-for-multiple-freadsheet – opowell

+1

Suggerisco di andare tutti in questo numero: https://code.google.com/p/google-apps-script-issues/issues/detail?id=1356&q=type%3DEnhancement%20library&colspec=Stars%20Opened%20ID%20Type%20Status%20Summary%20Component%20Owner – opowell

risposta

1

Si dovrebbe attivare la "modalità di sviluppo". Risorse -> librerie incluse per ogni spreasheet che include la libreria

+0

"modalità di sviluppo" è attiva. Non fa nulla in realtà. – user2242141

0

Non ho avuto molto successo usando la libreria da solo.

Una soluzione che suggerirei sarebbe quella di utilizzare uno script autonomo. Se i fogli di lavoro hanno caratteristiche identiche, puoi eseguire lo script su tutti utilizzando un ciclo for.

È possibile ottenere una vasta gamma di file all'interno di una cartella utilizzando utilizzando GetFiles()

// Logs the number of files in the 'kittens' folder 
var folder = DocsList.getFolder('kittens'); 
var files = folder.getFiles(); 
Logger.log(files.length); 
Problemi correlati