初心者向け入門:一般企業でのGAS基本操作による新入社員研修の自動化(小規模チーム向け)
新入社員の皆様、Google Apps Script(GAS)の世界へようこそ!この入門記事では、GASの基本操作を学び、新入社員研修を自動化する簡単なスクリプトを作成します。プログラミング初心者でも安心して取り組めるよう、丁寧に解説します。
GASとは?
GAS(Google Apps Script)は、Google Workspaceのサービス(Gmail、スプレッドシート、ドキュメントなど)を連携させ、自動化するためのスクリプト言語です。JavaScriptをベースにしているため、JavaScriptの知識があれば比較的簡単に習得できます。
GASのメリット
- 自動化:繰り返しの作業を自動化し、業務効率を向上させます。
- 連携:Google Workspaceのサービスを連携させて、より高度な処理を実現します。
- カスタマイズ:Google Workspaceの機能をカスタマイズし、独自のワークフローを構築します。
- 無料:Googleアカウントがあれば無料で利用できます。
開発環境の準備
GASのコードを書くためには、スクリプトエディタを使用します。Googleスプレッドシートからスクリプトエディタを開く手順は以下の通りです。
- Googleスプレッドシートを開きます。
- 「ツール」メニューから「スクリプトエディタ」を選択します。
- 新しいスクリプトプロジェクトが開きます。
GASの基本構文
GASのコードはJavaScriptに似ています。基本的な構文をいくつか紹介します。
変数
変数は、データを格納するための名前付きの場所です。
// 変数の宣言
let name = "John";
let age = 30;
関数
関数は、特定の処理を実行するコードのまとまりです。
// 関数の定義
function greet(name) {
return "Hello, " + name + "!";
}
制御構造
制御構造は、コードの実行順序を制御します。
// if文
let age = 20;
if (age >= 18) {
console.log("Adult");
} else {
console.log("Minor");
}
// for文
for (let i = 0; i < 5; i++) {
console.log(i);
}
新入社員研修の自動化スクリプト例
新入社員研修の参加者をスプレッドシートに登録し、研修開始前に自動でリマインダーメールを送信するスクリプトを作成します。
スプレッドシートの準備
以下の項目を含むスプレッドシートを作成します。
- 氏名
- メールアドレス
- 研修日
- 参加状況
スクリプトの作成
スクリプトエディタに以下のコードを記述します。
function sendReminderEmails() {
// スプレッドシートを開く
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getActiveSheet();
// データの範囲を取得
const range = sheet.getDataRange();
const values = range.getValues();
// ヘッダー行をスキップ
for (let i = 1; i < values.length; i++) {
const row = values[i];
const name = row[0]; // 氏名
const email = row[1]; // メールアドレス
const trainingDate = row[2]; // 研修日
const attendance = row[3]; // 参加状況
// 参加状況が未登録の場合のみ処理
if (attendance == "") {
// 今日の日付を取得
const today = new Date();
today.setHours(0, 0, 0, 0); // 時刻を0に設定
// 研修日の日付を取得
const trainingDateObj = new Date(trainingDate);
trainingDateObj.setHours(0, 0, 0, 0); // 時刻を0に設定
// 研修日の前日にリマインダーメールを送信
const timeDiff = trainingDateObj.getTime() - today.getTime();
const dayDiff = Math.ceil(timeDiff / (1000 * 3600 * 24));
if (dayDiff == 1) {
// メールを送信
const subject = "【リマインダー】新入社員研修のご案内";
const body = name + "様\n\n明日は新入社員研修です。\n\nご参加をお待ちしております。";
MailApp.sendEmail(email, subject, body);
// 参加状況を「送信済」に更新
sheet.getRange(i + 1, 4).setValue("送信済");
}
}
}
}
スクリプトの解説
SpreadsheetApp.getActiveSpreadsheet()
:アクティブなスプレッドシートを取得します。sheet.getDataRange()
:シートのデータ範囲を取得します。range.getValues()
:データ範囲の値を配列として取得します。MailApp.sendEmail(email, subject, body)
:メールを送信します。
トリガーの設定
スクリプトを自動的に実行するために、トリガーを設定します。
- スクリプトエディタの左側のメニューから「トリガー」を選択します。
- 「トリガーを追加」をクリックします。
- 「実行する関数」で
sendReminderEmails
を選択します。 - 「イベントのソース」で「時間主導型」を選択します。
- 「時間ベースのトリガーの種類を選択」で「日単位のタイマー」を選択します。
- 時間を設定し、「保存」をクリックします。
応用例
- 研修後のアンケートを自動で送信する。
- 研修資料をGoogleドライブに自動でアップロードする。
- 研修の参加状況を自動で集計する。
まとめ
この入門記事では、GASの基本操作を学び、新入社員研修を自動化する簡単なスクリプトを作成しました。GASを活用することで、様々な業務を自動化し、効率化することができます。ぜひ、GASの世界を探求してみてください。