GASで複数のGoogleサービスを連携して業務を効率化する

先生

GASでGoogle Workspaceを使い倒せ!業務効率爆上げの連携術を伝授します🚀

GASでGoogleサービス連携を始める前に

GAS(Google Apps Script)は、Google Workspaceの各種サービスを連携させ、業務を自動化・効率化するための強力なツールです。Gmail、Google Sheets、Google Driveなど、日々の業務で利用しているサービスをGASで連携することで、手作業で行っていた作業を自動化し、時間と労力を大幅に削減できます。

この記事では、GASの基本的な使い方から、複数のGoogleサービスを連携させる具体的な方法、そして業務効率化に役立つ応用例までを解説します。GASの可能性を最大限に引き出し、あなたの業務をよりスマートに変革しましょう。

GASの基本:スプレッドシートを操作する

まずは、GASの基本として、Google Sheets(スプレッドシート)を操作する方法を見ていきましょう。GASを使うと、スプレッドシートのデータの読み書き、編集、フォーマット変更などが自動で行えます。

function myFunction() {
  // スプレッドシートを取得
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  // シートを取得
  var sheet = ss.getSheetByName("シート1");
  // A1セルの値を取得
  var cellValue = sheet.getRange("A1").getValue();
  Logger.log(cellValue);

  // B1セルに値を書き込む
  sheet.getRange("B1").setValue("Hello, GAS!");
}

上記のコードは、アクティブなスプレッドシートの「シート1」というシートのA1セルの値をログに出力し、B1セルに「Hello, GAS!」という文字列を書き込む簡単な例です。SpreadsheetApp.getActiveSpreadsheet()でスプレッドシートを取得し、getSheetByName()でシートを指定、getRange()でセルを指定して、getValue()で値を取得、setValue()で値を書き込んでいます。

この基本を応用することで、例えば、特定の条件に合致するデータを別のシートに転記したり、複数のスプレッドシートのデータを集計したりする処理を自動化できます。

Gmailとスプレッドシートを連携:メール送信を自動化

次に、GASを使ってGmailとスプレッドシートを連携させ、メール送信を自動化する方法を解説します。例えば、スプレッドシートに登録された顧客リストに基づいて、自動でメールを送信する仕組みを作ることができます。

function sendEmail() {
  // スプレッドシートを取得
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("顧客リスト");

  // 最終行を取得
  var lastRow = sheet.getLastRow();

  // 2行目から最終行までループ
  for (var i = 2; i <= lastRow; i++) {
    // メールアドレスを取得
    var email = sheet.getRange(i, 1).getValue();
    // 名前を取得
    var name = sheet.getRange(i, 2).getValue();
    // 件名
    var subject = "【GAS自動送信】お知らせ";
    // 本文
    var body = name + "様\n\nいつもお世話になっております。\n\nこれはGASによって自動送信されたメールです。";

    // メールを送信
    MailApp.sendEmail(email, subject, body);
  }
}

このコードは、「顧客リスト」というシートの2行目から最終行までをループし、各行の1列目をメールアドレス、2列目を名前として、メールを送信する例です。MailApp.sendEmail()を使ってメールを送信しています。宛先、件名、本文を引数として渡します。

この例を応用することで、例えば、スプレッドシートの更新をトリガーにして、自動で進捗状況を関係者にメールで通知したり、アンケートの回答結果を自動で集計して、結果をメールで送信したりすることができます。

Google Driveと連携:ファイル管理を効率化

GASはGoogle Driveとの連携も得意です。ファイルの自動整理、特定の条件に合致するファイルの検索、ファイル名の一括変更など、ファイル管理に関する様々なタスクを自動化できます。

function createFolderAndMoveFiles() {
  // 親フォルダのID
  var parentFolderId = "親フォルダのID";
  // 新しいフォルダ名
  var newFolderName = "新しいフォルダ";

  // 親フォルダを取得
  var parentFolder = DriveApp.getFolderById(parentFolderId);

  // 新しいフォルダを作成
  var newFolder = parentFolder.createFolder(newFolderName);

  // ファイルを検索(例:ファイル名に「report」を含むファイルを検索)
  var files = DriveApp.searchFiles('title contains "report"');

  // ファイルを新しいフォルダに移動
  while (files.hasNext()) {
    var file = files.next();
    file.moveTo(newFolder);
  }
}

このコードは、指定されたIDの親フォルダの中に「新しいフォルダ」という名前のフォルダを作成し、ファイル名に「report」を含むファイルを検索して、作成したフォルダに移動する例です。DriveApp.getFolderById()でフォルダを取得し、createFolder()で新しいフォルダを作成、DriveApp.searchFiles()でファイルを検索、moveTo()でファイルを移動しています。

この例を応用することで、例えば、毎日自動でバックアップフォルダを作成し、指定されたファイルをコピーしたり、特定のフォルダ内のファイルを日付ごとに整理したりすることができます。

その他のGoogleサービスとの連携

GASは、上記以外にも、Google Calendar、Google Forms、Google Slidesなど、様々なGoogleサービスと連携できます。例えば、Google Formsの回答をスプレッドシートに自動で集計し、その結果を元にGoogle Slidesで自動的にプレゼンテーションを作成する、といった連携も可能です。

アイデア次第で、GASはあなたの業務を劇的に効率化する強力なツールとなります。ぜひ、色々な組み合わせを試して、GASの可能性を最大限に引き出してください。

参考リンク

まとめ

GASを活用することで、複数のGoogleサービスを連携させ、これまで手作業で行っていた業務を自動化し、大幅な効率化を実現できます。スプレッドシート、Gmail、Google Driveなど、様々なサービスをGASで繋ぎ、あなたの業務をよりスマートに変革しましょう。GASはプログラミング初心者でも比較的簡単に始めることができるので、ぜひ挑戦してみてください。