スプレッドシートをストライプ柄にするスクリプト
はじめてのGoogleAppsScript。
一番左上になるセルと、その右のセルに背景色を設定しておいて、適当な範囲を選択。
あとは、ストライプ(縦)を実行。
右じゃなくて下のセルに背景色を設定した場合は、ストライプ(横)を実行。
function onOpen() { var a = SpreadsheetApp.getActive(); var menuItems = [ { name: 'ストライプ(縦)', functionName: 'toVerticalStripe' }, { name: 'ストライプ(横)', functionName: 'toHorizontalStripe' } ]; a.addMenu('レイアウト', menuItems); } function toVerticalStripe() { var as = SpreadsheetApp.getActiveSheet(), range = as.getActiveRange(), numRows = range.getNumRows(), numCols = range.getNumColumns(), posRow = range.getRow(), posCol = range.getColumn(), bgcOdd = as.getRange(posRow, posCol).getBackground(), bgcEven = as.getRange(posRow, posCol+1).getBackground(), halfCount = Math.ceil(numCols / 2), target = null; range.setBackground(bgcEven); while(halfCount--) { as.getRange(posRow, posCol, numRows).setBackground(bgcOdd); posCol += 2; } } function toHorizontalStripe() { var as = SpreadsheetApp.getActiveSheet(), range = as.getActiveRange(), numRows = range.getNumRows(), numCols = range.getNumColumns(), posRow = range.getRow(), posCol = range.getColumn(), bgcOdd = as.getRange(posRow, posCol).getBackground(), bgcEven = as.getRange(posRow+1, posCol).getBackground(), halfCount = Math.ceil(numRows / 2), target = null; range.setBackground(bgcEven); while(halfCount--) { as.getRange(posRow, posCol, 1, numCols).setBackground(bgcOdd); posRow += 2; } }