Google Apps Script 使い方メモ

各種のGoogleサービスをJavaScriptを使って、さらに便利にカスタマイズするための言語「Google Apps Script」を勉強したので学習メモを残しておきます。

基本

//アクティブなスプレッドシート
var ss = SpreadsheetApp.getActiveSpreadsheet();

//選択中のシート
var sheet = ss.getActiveSheet();

//上2つを一気に指定する方法
var sheet = SpreadsheetApp.getActiveSheet();

//操作セルの指定
var range = sheet.getRange("A1");//その1
var range = sheet.getRange(1,2);//その2(行,列)

//値の挿入
range.setValue(100);

//背景色の設定
range.setBackground("#ff0000");//16進数以外に"red"などでも可

//コメントを挿入する
range.setComment("コメント");

デバッグ

//ログを表示(表示→ログ)
//console.logの代わり
Logger.log();

//メッセージボックス
//alertの代わり
Browser.msgBox("hello!");

その他の関数

//メール送信
MailApp.sendEmail(
	"メールアドレス",
	"件名",
	"送信内容"
);

//メニューを追加する
var ss = SpreadsheetApp.getActiveSpreadsheet();  
var menu = [
	{name: "メニュー名",functionName: "関数名"},
	{name: "メニュー名",functionName: "関数名"}
];
ss.addMenu("メニュー表示名", menu);

//スプレッドシートを開いた時に実行する
function onOpen(){
}

//スプレッドシートの編集時に実行する
function onEdit(){
}

//外部サイトにPOSTでアクセス
var payload = { "title" : "タイトル", "msg" : "メッセージ" };
var options = { "method" : "post", "payload" : payload };

UrlFetchApp.fetch("アクセスするURL", options);

Google Formとの連携

function formReport(e){
	//フォームに設定したタイトル(日本語でもOK)で指定
	var name = e.namedValues["お名前"] ;
	var email = e.namedValues["メールアドレス"] ;
	var content = e.namedValues["内容"] ;
}

※上記はGoogleFormのスクリプトエディタではなく、結果を入れるためのSpreadSheetのスクリプトエディタに記述します。

GoogleFormのほうでは「e.namedValues[]」のようなカタチで送信内容を取得することができませんでした。