2013-10-22

Google スプレッドシートのスクリプト

Googleのスプレッドシートは、Ctrlキー+クリックでセルを任意に複数選択する…
といったことができないらしい。今のところ。

特にセルのサイズ変更に閉口。
いちいちひとつ選んで、変更して…、というのが死ぬほど面倒だったので、
「スクリプト」を利用すると便利らしいと知り、素人ながらいくつか書いてみた。
一応自分で使ってるので、動作はします。


※Ctrlでの複数選択可になったのでもうあまり使うこともなさそうですが、
とりあえずメモとして残しておきます。2014.09


使い方

メニューの[ツール] - [スクリプトエディタ] にコピペして、適当な名前をつけ保存。
[ツール] - [スクリプトマネージャ] から使うスクリプトを選んで、実行を押す。



選択した範囲の色変え

function ColorRed() {
     var range = SpreadsheetApp.getActiveRange();
     range.setBackgroundColor("#f4cccc");  // 淡赤
}

選択した範囲の色変え(縦に1セルおき)


function Color2() {
  var range = SpreadsheetApp.getActiveRange();
  var cols = range.getNumColumns();
  var rows = range.getNumRows();
  for (var y = 1; y <= rows; y++) {
    for (var x = 1; x <= cols; x++) {
      var cell = range.getCell(y, x);
      if ((y % 2) != 0) {
        cell.setBackgroundColor("#f3f3f3"); //灰色
      }
    }
  }
}

選択範囲のセルの高さ・横幅を変える


//横幅
function setW(){
  var ss = SpreadsheetApp.getActiveSheet();
  var range = SpreadsheetApp.getActiveRange();
  var index = range.getColumnIndex();
  var cols = range.getNumColumns();
  for (var y = 0; y < cols; y++) {
    ss.setColumnWidth(index+y, 25); //25pxに設定
  }
}

//高さ
function setH(){
  var ss = SpreadsheetApp.getActiveSheet();
  var range = SpreadsheetApp.getActiveRange();
  var index = range.getRowIndex();
  var rows = range.getNumRows();
  for (var y = 0; y < rows; y++) {
    ss.setRowHeight(index+y, 25); //25pxに設定

  }
}

選択範囲のセルの高さを変える(1セルおき)

function tnmH(){
  var ss = SpreadsheetApp.getActiveSheet();
  var range = SpreadsheetApp.getActiveRange();
  var index = range.getRowIndex();
  var rows = range.getNumRows();
  for (var a = 0; a < rows; a+=2) {
    ss.setRowHeight(index+a, 5); //5pxに設定

  }
}

選択範囲のセルの横幅を変える(1セルおき)

function tnmW(){
  var ss = SpreadsheetApp.getActiveSheet();
  var range = SpreadsheetApp.getActiveRange();
  var index = range.getColumnIndex();
  var cols = range.getNumColumns();
  for (var b = 0; b < cols; b+=2) {
    ss.setColumnWidth(index+b, 5); //5pxに設定

  }
}



参考

Google Apps Script — Google Developers > Spreadsheet Services 本家
GoogleStyle > Spreadsheet Services 日本語

0 件のコメント: