【GAS】Google スプレッドシートの表からGoogleカレンダーに予定を追加する

Google スプレッドシートからボタンを押すと、Google カレンダーにスケジュールが登録されます。

f:id:meikotan:20190102181109g:plain
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スクリプトを割り当ててください。

以上です。

参考

ココナラで受託開発してます。

ITに関して困ってるけど、周りに頼れる人がいない!ってときにお役にたちたいなと思っています。よろしくお願いします。
https://coconala.com/services/620679

余談

今回はGASのソースコードをバージョン管理したいと思って色々探していたところ、ものすごく使いやすいの見つけました。 https://techblog.recruitjobs.net/development/maneged_google-apps-script_by_github

感謝!