2012-10-15 6 views
14

Google Spreadsheet hat in der Symbolleiste unter der Rahmenschaltfläche auch eine Schaltfläche zum Ändern der Farbe und Ändern der Rahmenart.Festlegen von Rahmenfarbe und -stil in der Tabelle programmgesteuert

Wie kann auf diese innerhalb eines Google Apps-Skripts zugegriffen werden?

Die für Dokumente beschriebene Funktion setBorderColor scheint für Tabellenkalkulationen nicht verfügbar.

+0

Dieses Problem wurde behoben, um diese in Google Apps Script verfügbar zu machen: [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

Korrekter Link: http://code.google.com/p/google-apps-script- Probleme/Probleme/Details? id = 2002 –

Antwort

4

Momentan erlauben uns die setBorder() - Eigenschaften nicht, Farbe und Stil anzugeben. Es gibt ein offenes Problem, dem Sie folgen können: here.

0

Sie können einen kleinen Trick machen. Kopieren Sie die Formatierung in einer farbigen Rahmenzelle an die gewünschte Stelle.

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

Das gemeldete Problem behoben wurde, as of 12 Jan 2016. Bereich hat jetzt diese Methoden:

Beispiele finden Sie in der Dokumentation; hier ist, wie eine gestrichelte rote Grenze * setzen:

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

* korrigiert, wie pro Kommentar: die Dokumentation falsch ist, sollte es SpreadsheetApp.BorderStyle.DASHED/DOTTED/SOLID werden, nicht Reichweite. - gotofritz

+0

Leider funktioniert das Beispiel nicht, 'Range.BorderStyle.DASHED' gibt einen 'Range undefined' Fehler – gotofritz

+0

Eigentlich entdeckt das Problem - die Dokumentation ist falsch, es sollte SpreadsheetApp.BorderStyle sein. GESPANNT/PUNKTIERT/FEST, nicht Reichweite. – gotofritz

+1

@gotofritz Es wäre schön, den Docs vertrauen zu können, oder ?! Aktualisierte Antwort, danke. – Mogsdad

Verwandte Themen