Javascript in AppScript su Google Fogli: bottone mobile..

di il
2 risposte

Javascript in AppScript su Google Fogli: bottone mobile..

Salve a tutti, sono nuovo del forum e un neofita di Javascript per cui scusate l'ignoranza..stavo creando una tabella su un foglio google e volevo aggiungere dei bottoni che aggiungono o tolgono 1 al valore di una cella..trovo la funzione giusta da applicare all'immagine e la scrivo su appscript, il VBA di Google..
function piùD3() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var cell = sheet.getRange('d3');
cell.setValue(cell.getValue() + 1);
};
ora però di bottoni ne servono almeno 25 e mi tocca fare una formula per ognuno perché ogni bottone fa riferimento a una cella diversa..volevo creare una formula che cambi in base alla cella sopra la quale posiziono il bottone e che scriva il punteggio sulla cella adiacente..ho fatto vari tentativi..questa mi sembrava abbastanza logica ma il foglio di google mi dice che non la trova..
function piùBO() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var cellBottone = sheet.getCurrentCell();
var cell = sheet.getRange(cellBottone.getRange() + 1);
cell.setValue(cell.getValue() + 1);
};
Mi potete dire dove ho sbagliato? Grazie della disponibilità..scusate ma sono proprio all'inizio..
luca

2 Risposte

  • Re: Javascript in AppScript su Google Fogli: bottone mobile..

    Ciao Ldb, benvenuto nel forum!

    Per quanto riguarda il tuo codice, vedo che usi alcuni metodi non presenti nell'API. Principalmente:
    
    ...
    var cell = sheet.getRange(cellBottone.getRange() + 1);
    ...
    
    In questa riga puoi notare che (in base alla ) la funzione "sheet.getRange(...)" ha bisogno di 2 numeri interi, l'indirizzo della riga e della colonna. Inoltre, quando hai inizializzato la variabile "cellBottone" hai usato la funzione . Questa funzione ritorna un oggetto di classe , che non possiede il metodo "getRange()" che stavi tentando di richiamare nella riga sopra.

    Puoi provare a modificare quella riga con la seguente:
    
    ...
    // Per ottenere un riferimento alla cella appena sopra a quella attiva
    var cell = sheet.getRange(cellBottone.getRow() - 1, cellBottone.getColumn()); 
    ...
    
    Ogni volta che hai dubbi, ti consiglio di riguardare bene la documentazione ufficiale, molte volte ti permette di risparmiare tempo
  • Re: Javascript in AppScript su Google Fogli: bottone mobile..

    Grazie della dritta!!..ci sono riuscito..ma non ho ottenuto quello che volevo..
    code
    function più2() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getActiveSheet();
    var cellBottone = sheet.getCurrentCell();
    var cell = sheet.getRange(cellBottone.getRow(), cellBottone.getColumn() + 1);
    cell.setValue(cell.getValue() + 1);
    };
    io speravo che la formula facesse riferimento alla cella sopra la quale si trova l'immagine del bottone..ma in realtà in Google fogli l'immagine è sopra le celle quindi non seleziona nessuna cella per cui se non selezioni una cella non trova la formula, se la selezioni aggiunge i punti alla cella adiacente la selezione ma da qualsiasi bottone clicchi ..penso che su google fogli non si possa collegare un bottone con le celle in base alla posizione..mi toccherà fare una funzione diversa per ogni bottonecmq grazie ancora per la risposta!!
Devi accedere o registrarti per scrivere nel forum
2 risposte