初心者向けGAS入門:新入社員研修を自動化する

初心者向け入門:一般企業でのGAS基本操作による新入社員研修の自動化(小規模チーム向け)

新入社員の皆様、Google Apps Script(GAS)の世界へようこそ!この入門記事では、GASの基本操作を学び、新入社員研修を自動化する簡単なスクリプトを作成します。プログラミング初心者でも安心して取り組めるよう、丁寧に解説します。

GASとは?

GAS(Google Apps Script)は、Google Workspaceのサービス(Gmail、スプレッドシート、ドキュメントなど)を連携させ、自動化するためのスクリプト言語です。JavaScriptをベースにしているため、JavaScriptの知識があれば比較的簡単に習得できます。

GASのメリット

  • 自動化:繰り返しの作業を自動化し、業務効率を向上させます。
  • 連携:Google Workspaceのサービスを連携させて、より高度な処理を実現します。
  • カスタマイズ:Google Workspaceの機能をカスタマイズし、独自のワークフローを構築します。
  • 無料:Googleアカウントがあれば無料で利用できます。

開発環境の準備

GASのコードを書くためには、スクリプトエディタを使用します。Googleスプレッドシートからスクリプトエディタを開く手順は以下の通りです。

  1. Googleスプレッドシートを開きます。
  2. 「ツール」メニューから「スクリプトエディタ」を選択します。
  3. 新しいスクリプトプロジェクトが開きます。

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):メールを送信します。

トリガーの設定

スクリプトを自動的に実行するために、トリガーを設定します。

  1. スクリプトエディタの左側のメニューから「トリガー」を選択します。
  2. 「トリガーを追加」をクリックします。
  3. 「実行する関数」でsendReminderEmailsを選択します。
  4. 「イベントのソース」で「時間主導型」を選択します。
  5. 「時間ベースのトリガーの種類を選択」で「日単位のタイマー」を選択します。
  6. 時間を設定し、「保存」をクリックします。

応用例

  • 研修後のアンケートを自動で送信する。
  • 研修資料をGoogleドライブに自動でアップロードする。
  • 研修の参加状況を自動で集計する。

まとめ

この入門記事では、GASの基本操作を学び、新入社員研修を自動化する簡単なスクリプトを作成しました。GASを活用することで、様々な業務を自動化し、効率化することができます。ぜひ、GASの世界を探求してみてください。