Google Apps Scriptのキホンと使い方 (3/4)
2014年03月12日 11時00分更新
整数→16進数変換スクリプトを作ろう
Browserオブジェクトの2つのメソッドを使って、HTMLやCSSで多用されるWebカラーの値(6桁の16進数)と整数の値を変換するスクリプトを作ってみましょう。
function HexToInt() {
var hex = Browser.inputBox("色の16進数を入力:");
var r = hex.substr(0,2);
var g = hex.substr(2,2);
var b = hex.substr(4,2);
var res = parseInt(r, 16) + ', ' + parseInt(g, 16) + ', ' + parseInt(b, 16);
Browser.msgBox(res);
}
続いて(改行して)以下のコードを入力してみましょう。
function IntToHex() {
var str = Browser.inputBox("0〜255の値をコンマで区切って入力:");
var arr = str.split(',');
Logger.log(arr);
var r = '00' + parseInt(arr[0]).toString(16);
var g = '00' + parseInt(arr[1]).toString(16);
var b = '00' + parseInt(arr[2]).toString(16);
r = r.substr(-2);
g = g.substr(-2);
b = b.substr(-2);
Browser.msgBox('#' + r + g + b);
}
HexToIntは、入力された6桁の16進数を3つの整数に変換して表示するメソッドです。IntToHexは、入力されたコンマ区切りの0〜255の範囲にある3つの整数を、6桁の16進数に変換して表示します。
作成したスクリプトを見ると、Browserオブジェクト以外は、ごく普通のJavaScriptのコードです。計算のような、ブラウザーの機能とは直接関係ない処理は、JavaScriptの機能をすべてそのままGASで使えます。
「入出力にBrowserオブジェクトを使う、それ以外の計算は普通にJavaScriptで書く」——この基本さえ押さえておけば、簡単な計算処理はすぐにでもGASで作れます。
スプレッドシートから実行するには?
作成した関数は、スクリプトエディタだけでなく、スプレッドシートからも実行できます。「ツール」メニューから「スクリプトマネージャ…」を選んでみてください。画面にダイアログが現れ、作成した2つの関数がリスト表示されます。
このリストから、実行したい関数を選択し、上にある「実行」ボタンをクリックすれば、実行できます。また「編集」や「新規作成」ボタンを押せば、スクリプトエディタが開き、選択した関数を編集したり、新たにスクリプトを作成したりできます。