【GAS】Googleカレンダーで予定を登録した話
GAS=Google Apps Scriptについてです。
Google Apps Scriptとは
Apps Script は、G Suite の統合、自動化、拡張のためのビジネス ソリューションをすばやく簡単に構築するための唯一のローコード プラットフォームです。Apps Script を使えば、ビジネス ユーザーは本格的なソフトウェア開発の経験がなくても、G Suite 上にカスタム ソリューションを構築できます。Apps Script は、Gmail アカウントをお持ちであればどなたでもご利用いただけます。
ExcelでのVBAのようなもので、JavaScriptでスプレッドシートやカレンダー、Gmailを操作できます。
なぜGASを使おうと思ったのか
今日仕事でGoogleカレンダーに今月の行動予定を何件か登録していてその作業がストレスだったので。基本的には、予定の複製で十分な業務だったんですけど、知的好奇心もありGoogle Apps Scriptで予定の登録にチャレンジしてみました。
コードサンプル
function execute() {
const dateList = [
"2020-10-01",
];
for (let i = 0: i < dateList.length; i++) {
createPublicCalendarEvent("現場出勤", dateList[i], "9:00", "18:00");
}
}
function createPublicCalendarEvent(title, targetDateStr, startTimeStr, endTimeStr) {
const calendar = CalendarApp.getDefaultCalendar();
const startTime = new Date(targetDateStr + " " + startTimeStr);
const endTime = new Date(targetDateStr + " " + endTimeStr);
// カレンダーに予定を登録。ゲストユーザを追加する場合は、この時にオプションを追加する
const event = calendar.createEvent(title, startTime, endTime);
// 公開設定を「公開」に変更
event.setVisibility(CalendarApp.Visibility.PUBLIC);
// 通知設定をすべて削除
event.removeAllReminders();
// カレンダーの色を変更
// https://developers.google.com/apps-script/reference/calendar/event-color
event.setColor(CalendarApp.EventColor.GRAY);
}
GASで予定を登録してみてどうだったの?
ボクが業務で使った限りではGASを作るほどではなかった
コード書くのに調べながらだったので1時間弱。手作業でやれば5分弱の作業だったので費用対効果としては自分的には微妙だった。
・細かい予定が多くて、何度も複製するのはストレスを感じる場合
・繰り返しの予定設定が難しいけどいくつも予定を設定しないと行けない場合
は効果的という感じがした。
GASでできないこともありそう、というのを知ることができた
予定あり、予定なしの部分は、GASで操作する方法が見つからなかった。なので非公開で予定なし、というような予定はGASでは登録できなさそう、というのが分かった(※方法を知っている方がいたら教えて下さい!)。