• 投稿日:2024/12/25
  • 更新日:2024/12/25
【GAS】Gmailの予約メールをGoogleカレンダーに自動登録する方法

【GAS】Gmailの予約メールをGoogleカレンダーに自動登録する方法

会員ID:RE0Qgm0u

会員ID:RE0Qgm0u

この記事は約6分で読めます
要約
GASを使ってGmailの内容からGoogleカレンダーにスケジュール登録する方法をお伝えします。Gmailに開始日時、終了日時のような情報があれば、スケジュール登録することができます。Gmailで予約情報を受けとるようなお仕事をされている方は、是非参考にしてください。


こんにちは!ニアです♪

あなたはGmailに届いた情報を使って、Googleカレンダーに登録したいと考えたことはありますか?
GASを使うことで、Gmailから自動でGoogleカレンダーに登録することができます。

実はGASを使わなくてもGmailからGoogleカレンダーに登録することもできますが、細かいカスタマイズができません。GASを使うことで細かいカスタマイズをすることができます。

是非こちらの記事を参考にし、面倒なことは全部プログラムにやらせてしまいましょう~♪

(1) GASを起動

GASを起動するには、スプレッドシートから拡張機能→Apps Scriptをクリックします。

20241225_205419.png

(2) コードを入力

GASが起動したら赤枠のところに以下のコードをコピペします。

20241225_205550.png

function addEventToCalendar() { const threads = GmailApp.search('subject:予約'); const mails = threads[0].getMessages(); const mail = mails[mails.length - 1];
const subject = mail.getSubject(); const body = mail.getBody(); const pbody = mail.getPlainBody(); const options = extractOptions(pbody); const startDateTime = extractStartDateTime(pbody); const endDateTime = extractEndDateTime(pbody); const calendar = CalendarApp.getDefaultCalendar(); const event = calendar.createEvent(subject, startDateTime, endDateTime, {description: options}); Logger.log('Event created: ' + event.getId()); } function extractOptions(body) { const options = body.match(/オプション:(.*)$/m); if ( !options ) { return null } const option = options[1].replace(/<("[^"]*"|'[^']*'|[^'">])*>/g,''); console.log(option); return option; } function extractStartDateTime(body) { const dateStrings = body.match(/受付日時:(.*)$/m); if ( !dateStrings ) { return null } const dateString = dateStrings[1].replace(/<("[^"]*"|'[^']*'|[^'">])*>/g,''); const formattedString = dateString.replace(/\//g, '-'); const dateObject = new Date(formattedString); console.log(dateObject); return dateObject; } function extractEndDateTime(body) { const dateStrings = body.match(/退出日時:(.*)$/m); if ( !dateStrings ) { return null } const dateString = dateStrings[1].replace(/<("[^"]*"|'[^']*'|[^'">])*>/g,''); const formattedString = dateString.replace(/\//g, '-'); const dateObject = new Date(formattedString); console.log(dateObject); return dateObject; }

続きは、リベシティにログインしてからお読みください

ノウハウ図書館でできること
  • すべての記事の閲覧

  • ブックマーク

  • いいね・レビュー

  • 記事の投稿※応援会員(有料)のみ

  • ポイントの獲得※応援会員(有料)のみ

※会員登録には、新入生会員(初月30日無料)と応援会員(有料)があります

応援会員制度とは?
さらに!
  • リベシティの他の機能やサービスもご利用いただけます詳しく見る

ブックマークに追加した記事は、ブックマーク一覧ページで確認することができます。
あとから読み返したい時に便利です。

会員ID:RE0Qgm0u

投稿者情報

会員ID:RE0Qgm0u

イルカ会員

この記事に、いいねを送ろう! 参考になった記事に、
気軽にいいねを送れるようになりました!
この記事のレビュー(3
  • 会員ID:nTBX5TzZ
    会員ID:nTBX5TzZ
    2025/07/16

    ちょっと直ぐには連携させられなかったのですが チャッピーに聞いてなんとか連携できました!Gasって何?と思っていた私の0→1のきっかけになりました!ありがとうございます!

    会員ID:RE0Qgm0u

    投稿者

    2025/07/16

    KAOさん😊 わー🙌0→1達成&連携できるようになったとのことで凄いです〜😆 GAS使えるようになると可能性が無限大に広がるので、是非是非いろんな場面で活用してみてください✨ こちらこそコメントありがとうございました😌

    会員ID:RE0Qgm0u

    投稿者

  • 会員ID:4iV8zxv6
    会員ID:4iV8zxv6
    2025/01/13

    いつもありがとうございます! これはすごい…! 初めて知りました!! 私もGoogleにお世話になっているので、 試してみます! 大変有益な情報を共有してくださり、 ありがとうございました!

    会員ID:RE0Qgm0u

    投稿者

    2025/01/13

    ロクさん いつもコメントありがとうございます♪ Googleさん、ただでさえスプシを無料で使える状態にしてくれていて、さらにプログラムまで無料で使えるようにしてくれていて、凄いな~って思いますよね! 是非是非、お試しください~(^^)

    会員ID:RE0Qgm0u

    投稿者

  • 会員ID:jNTA5YAW
    会員ID:jNTA5YAW
    2024/12/25

    まさに探してました!ずっといい方法があるはずと悩んでいたことでした! 試してみます☺️ありがとうございます!

    会員ID:RE0Qgm0u

    投稿者

    2024/12/25

    ふじさん コメントありがとうございます♪ 便利なことでも気付かないことが多いですよね。私もできるかもと思いつつ、なかなか調べるに至らずでした。 メールの内容によっては少しプログラムを変更する必要がありますが、是非、お試しください♪

    会員ID:RE0Qgm0u

    投稿者