2012-10-15 14 views
14

Google Spreadsheet ha nella barra degli strumenti sotto il pulsante di bordo anche un pulsante per cambiare il colore e cambiare lo stile del bordo.Imposta colore e stile del bordo nel foglio di calcolo a livello di programmazione

Come è possibile accedervi da uno script di Google Apps?

La funzione setBorderColor descritta per i documenti non è disponibile per i fogli di calcolo.

+0

Star questo problema, creato per rendere disponibili quelli in Script di Google Apps: [http://code.google.com/p/google-apps-script-issues/issues/detail?id=2002] (http://code.google.com/p/google-apps-script-issues/issues/detail?id=2002) –

+0

Link corretto: http://code.google.com/p/google-apps-script- issues/issues/detail? id = 2002 –

risposta

4

Attualmente le proprietà setBorder() non ci consentono di fornire colore e stile. C'è un problema aperto che puoi seguire here.

0

È possibile fare un piccolo trucco. Copia la formattazione in una cella di bordo colorata dove vuoi.

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var source = ss.getSheets()[0]; 
var destination = ss.getSheets()[1]; 

var blueBorderRange = source.getRange("B2:D4"); 

// This copies the formatting in B2:D4 in the source sheet to 
// D4:F6 in the second sheet 
blueBorderRange.copyFormatToRange(destination, 4, 6, 4, 6); 
9

Il problema segnalato è stato risolto, as of 12 Jan 2016. La gamma ha ora questi metodi:

Gli esempi sono forniti nella documentazione; ecco come impostare un bordo rosso tratteggiato *:

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheets()[0]; 

var cell = sheet.getRange("B2"); 
// Sets borders on the top and bottom, but leaves the left and right unchanged 
// Also sets the color to "red", and the border to "DASHED". 
cell.setBorder(true, null, true, null, false, false, "red", SpreadsheetApp.BorderStyle.DASHED); 

* corretti, come da commento: la documentazione è sbagliato, dovrebbe essere SpreadsheetApp.BorderStyle.DASHED/PUNTEGGIATO/SOLID, non Range. - gotofritz

+0

Purtroppo l'esempio non funziona, 'Range.BorderStyle.DASHED' restituisce un errore 'Range undefined' – gotofritz

+0

In realtà è stato rilevato il problema - la documentazione è sbagliata, dovrebbe essere SpreadsheetApp.BorderStyle. DASHED/DOTTED/SOLID, non Range. – gotofritz

+1

@gotofritz Sarebbe bello poter fidarsi dei documenti, vero ?! Risposta aggiornata, grazie – Mogsdad