0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Udemyメモ「Google Apps Scriptの仕事効率化・自動化をプログラミングで実現」

Posted at

概要

Google Apps Script を使用した業務の自動化

Google Form 送信時における自動メール通知

  1. Google Drive から、Google Form を生成
  2. 適当に入力フォームを追加
  3. 回答タブから、回答をスプレッドシートに表示 を押下
  4. ツールタブから、スクリプトエディタを起動
  5. ヘッダー中段の時計アイコンである現在のプロジェクトのトリガーを押下
  6. FloatingActionButton を押下し、トリガーを生成
  7. エディタで、フォーム送信時に発火するトリガーを元に起動する function を定義
  8. フォームで、右上のプレビュー機能を使用して、フォームを送信
  9. 入力したメールアドレスに以下の文面が届いたら成功
// https://developers.google.com/apps-script/reference/gmail
function autoReply(event) {
  const [timeStamp, companyName, name, email] = event.values;
  const subject = `『${name}様』 お問い合わせありがとうございます`;
  const body = `
  お名前 ${name} 様

  お問い合わせありがとうございます
  以下の内容で、お問い合わせを承りました。

  会社名: ${companyName}
  お名前: ${name}
  メールアドレス: ${email}
  `;

  GmailApp.sendEmail(email, subject, body);
}

Google Form 送信時における Slack 自動通知

  1. 自分用の workspace を用意
  2. 通知したい channel を用意
  3. Setting and Adnimistrationから、Manage App を押下して、Webページへ
  4. Incoming Webhook を探し、対象の workspace に導入すると、設定画面に移動
  5. Webhook 用の URL をコピーしておき、下部で設定を保存する
  6. 以下の通りコードを用意
// https://developers.google.com/apps-script/reference/gmail

function autoReply(event) {
  const [timeStamp, companyName, name, email] = event.values;
  const subject = `『${name}様』 お問い合わせありがとうございます`;
  const body = `
  お名前 ${name} 様

  お問い合わせありがとうございます
  以下の内容で、お問い合わせを承りました。

  会社名: ${companyName}
  お名前: ${name}
  メールアドレス: ${email}
  `;
  const slackMessage = `
  お名前 ${name} 様

  以下の内容で、お問い合わせを承りました。

  会社名: ${companyName}
  お名前: ${name}
  メールアドレス: ${email}
  `;

  GmailApp.sendEmail(email, subject, body);
  notifySlack(slackMessage);
}

function notifySlack(message) {
  const WEBHOOK_URL = `${slack  web ページでコピーした URL}`;
  const userName = "gasBot";

  const payloadObj = {
    username: userName,
    text: message
  };
  const payloadJson = JSON.stringify(payloadObj);
  const options = {
    method: "post",
    contentType: "application/json",
    payload: payloadJson,
  };

  UrlFetchApp.fetch(WEBHOOK_URL, options);
}

顧客リストを元に一斉メール送信

//https://developers.google.com/apps-script/reference/gmail/gmail-app#sendEmail(String,String,String,Object)

function sendAll() {
  const ss = SpreadsheetApp.getActiveSheet();
  const range = ss.getDataRange().getValues();

  const file = DriveApp.getFilesByName("Google Driveのマイドライブに存在するファイル名").next();

  for(var i = 1; i < range.length; i++){
    var title = `【${range[i][2]} 様】新商品のお知らせです`;
    var body = `
    ${range[i][1]}
    ${range[i][2]} 様

    新商品のお知らせです。
    `;
    var email = range[i][3];
    var cc = range[i][4];
    var options = {
      attachments: [file],
      cc: cc
    };

    GmailApp.sendEmail(email, title, body, options);
  }
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?