こんにちは!今回は、Google スプレッドシートを使って、面倒な作業を自動化する方法をご紹介します。特に「Google Apps Script(GAS)」の「トリガー機能」を使うことで、日々の業務がぐっと楽になりますよ。
GASのトリガーとは?
まず、「GASのトリガー」って何だろう?と思われるかもしれませんね。簡単に言うと、トリガーは「ある操作が行われたときに、自動でスクリプトを実行する仕組み」です。
例えば、「スプレッドシートを開いたときに自動で日付を入力する」「セルの内容が変更されたときに通知を送る」など、手動でやっていた作業を自動化できます。
どんなトリガーがあるの?
GASにはいくつかのトリガーがあります。代表的なものを見てみましょう。
onOpen(e)(スプレッドシートを開いたとき)
スプレッドシートを開いたときに自動で実行されるトリガーです。例えば、スプレッドシートを開いたときに特定のセルに「おはようございます」と表示させることができます。
onEdit(e)(セルの編集時)
セルの内容が変更されたときに実行されるトリガーです。例えば、セルに入力された日付を自動でフォーマットすることができます。
onChange(e)(シートの構造が変更されたとき)
シートの構造(行や列の追加・削除、シートの追加・削除など)が変更されたときに実行されるトリガーです。例えば、新しいシートが追加されたときに自動で目次を更新することができます。
onFormSubmit(e)(フォームの送信時)
Googleフォームからの回答が送信されたときに実行されるトリガーです。例えば、フォームの回答内容をもとに自動でメールを送信することができます。
実際にトリガーを設定してみよう!
それでは、実際に「onEdit(e)」トリガーを使って、セルの内容が変更されたときに自動で日付を入力する方法を見てみましょう。
- スプレッドシートを開き、「拡張機能」→「Apps Script」を選択します。
- スクリプトエディタが開いたら、以下のコードを貼り付けます。
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var range = e.range;
if (range.getColumn() == 2 && range.getRow() > 1) {
var currentDate = new Date();
var formattedDate = Utilities.formatDate(currentDate, Session.getScriptTimeZone(), 'yyyy/MM/dd');
sheet.getRange(range.getRow(), 1).setValue(formattedDate);
}
}
- コードを保存し、スプレッドシートに戻ります。
- セルB2以降に何か値を入力すると、自動でA列に日付が入力されます。
コメント