【GAS】Google スプレッドシートの表からGoogleカレンダーに予定を追加する
Google スプレッドシートからボタンを押すと、Google カレンダーにスケジュールが登録されます。
今回の要件は
- スプレッドシートに入力したスケジュールを、カレンダーに反映させたい。
- カレンダーの色を柔軟に変えたい です。
実際のソースコードはこちらです。
add_schedule_to_calendar/code.gs at master · dobby618/add_schedule_to_calendar · GitHub
一番調べたところ、カレンダーのカラーコード。。Googleの公式ドキュメントにも細かい説明がなかったので・・一つ一つ数字を当てはめて色を確認しました。調査結果のカラーコードはこちら!
GOOGLE_CALENDAR_ACCOUNT = "[スケジュールを反映したいGoogleカレンダーのメールアドレス]" // カレンダースケジュールの背景色 var SCHEDULE_BACKGROUND_COLOR = 0 // 0 : カレンダーの色 // 1 : ラベンダー(薄紫) // 2 : セージ(水色) // 3 : ぶどう(紫) // 4 : フラミンゴ(ピンク) // 5 : バナナ(黄色) // 6 : ミカン(オレンジ) // 7 : ピーコック(ターコイズブルー) // 8 : グラファイト(グレー) // 9 : ブルーベリー(青) // 10: バジル(緑) // 11: トマト(赤) // カレンダーのスケジュール(イベント)を作成し、色をセットしています。 Cal = CalendarApp.getCalendarById(GOOGLE_CALENDAR_ACCOUNT) var newEvent = Cal.createAllDayEvent(event_title, new Date(event_day)); newEvent.setColor(SCHEDULE_BACKGROUND_COLOR);
スプレッドシート側に置くボタンは「挿入」→「図形」から適当なものを作成しください。ボタンにはgetsheet
のスクリプトを割り当ててください。
以上です。
参考
- 【コピペでOK!】スプレッドシートとカレンダーを連携してイベントを一括登録する方法 基本はこの記事参考に作りました。
- spreadsheetからcalendarに予定を作成する + slackに自動投稿する - Qiita 開発後に見つけた記事ですが、同じような内容で分かりやすそうだったので貼っておきます。
- Googleカレンダーにアクセスする(4/5):初心者のためのGoogle Apps Scriptプログラミング入門 - libro GASのカレンダー周りの設定に。
ココナラで受託開発してます。
ITに関して困ってるけど、周りに頼れる人がいない!ってときにお役にたちたいなと思っています。よろしくお願いします。
https://coconala.com/services/620679
余談
今回はGASのソースコードをバージョン管理したいと思って色々探していたところ、ものすごく使いやすいの見つけました。 https://techblog.recruitjobs.net/development/maneged_google-apps-script_by_github
感謝!