web-dev-qa-db-ja.com

プログラムでスプレッドシートの境界線の色とスタイルを設定する

Googleスプレッドシートには、ツールバーの境界線ボタンの下に、色を変更したり境界線のスタイルを変更したりするためのボタンもあります。

Google Apps Script内でこれらにアクセスするにはどうすればよいですか?

ドキュメント用に記述されているsetBorderColor関数は、スプレッドシートでは使用できないようです。

18
user1747567

報告された問題は修正されました 2016年1月12日現在 。 Rangeには次のメソッドがあります。

例はドキュメントに記載されています。赤い破線の境界線を設定する方法は次のとおりです*

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

*コメントに従って修正:ドキュメントが間違っているため、範囲ではなく、SpreadsheetApp.BorderStyle.DASHED/DOTTED/SOLIDである必要があります。 – gotofritz

11
Mogsdad

現在、setBorder()プロパティでは、色とスタイルを提供できません。あなたがフォローできる未解決の問題があります ここ

あなたは少しトリックをすることができます。色付きの境界線セルの書式を好きな場所にコピーします。

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 from the source sheet to
// D4:F6 in the second sheet
blueBorderRange.copyFormatToRange(destination, 4, 6, 4, 6);
1
rhemzo