Skip to content

Instantly share code, notes, and snippets.

@nikuyoshi
Last active January 3, 2016 05:49
Show Gist options
  • Save nikuyoshi/8418502 to your computer and use it in GitHub Desktop.
Save nikuyoshi/8418502 to your computer and use it in GitHub Desktop.
GoogleAppsScriptのTips

GoogleAppsScriptのTips

SpreadSheet

関数などはサンプルです。

冒頭で宣言する変数

  • 日付関連
  • スプレッドシートオブジェクト
var THEDATE = new Date();
var FULLYEAR = THEDATE.getFullYear();
var MONTH = THEDATE.getMonth() + 1;
var DATE = THEDATE.getDate();
var HOUR = THEDATE.getHours();
var MINUTES = THEDATE.getMinutes();
var SS = SpreadsheetApp.openById(SpreadsheetApp.getActiveSpreadsheet().getId());

新しいシート(日付入り)を作成する関数

function newSheet(){
  SS.insertSheet(FULLYEAR + "/" + MONTH + "/" + DATE);
}

シートのヘッダーを作成する関数

function setSheetHeader(){
  var sheet = SS.getSheetByName(FULLYEAR + "/" + MONTH + "/" + DATE); //シート名「YYYY/MM/DD」
  var cell = sheet.getRange('a1');
  var headerValue = new Array(
    "hoge",
    "fuga"
  );
  /**
   * ヘッダーの値、フォントカラー、ボールド、背景色、アライメントを設定する。
   */
  for(var i = 0; i < headerValue.length; i++){
    cell.offset(0,i).setValue(headerValue[i]);
    // フォントカラー、背景色、ボールド、アライメントの変更
    setFontAndBackgroundToTableHeader(cell.offset(0,i));
    cell.offset(0, 0, 2).merge();
    setFontAndBackgroundToTableHeader(cell.offset(1,i));
  }
  /**
   * 値の設定
   */
  cell.offset(1,4).setValue('aaa');
  cell.offset(1,5).setValue('bbb');

  // セルの結合
  cell.offset(0, 0, 2).merge();
}

フォントカラー、背景色、ボールド、アライメントをまとめて設定する関数

function setFontAndBackgroundToTableHeader(cellOffset){
  cellOffset.setBackground("#214A10");
  cellOffset.setFontColor("#ffffff");
  cellOffset.setFontWeight("bold");
  cellOffset.setVerticalAlignment("top");
}

セル内の置換について

セル内の置換は、JavaScriptのreplaceメソッドを用いる。 セル内のカンマを改行に置換する例を記載する。

function addLineBreak(){
  var sheet = SpreadsheetApp.getActiveSheet();
  var cell = sheet.getRange('h2');
  for(var i = 0; i < sheet.getLastRow() ; i++){
     var substitutedValue = cell.offset(i, 0).getValue().replace(/, /g, ',\n');
     cell.offset(i, 0).setValue(substitutedValue);
  }
}

参考サイト

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment