GASでGoogleカレンダーの予定を変更・削除する方法!件名や開始日・終了日(時間)を修正
GoogleカレンダーをGoogle Apps Scriptで操作する際に、すでに作成済みの予定の件名や予定時間を変更したり、削除するやり方を解説します。
スプレッドシートとGoogleカレンダーを連携し、スプレッドシート側を修正した際にGoogleカレンダーにも修正を反映させたい場合に便利です。
Googleカレンダーとスプレッドシートの連携
Googleカレンダーとスプレッドシートを連携させたいユーザーは多いです。
Googleカレンダーはカレンダー形式でスケジュール管理がしやすいメリットがあります。
しかし、進捗管理の場合はスプレッドシートのように表形式の方が一覧性があり、条件に応じたフィルタ・ソートができるので便利です。
そのため、Googleカレンダーとスプレッドシートの両方で管理することが多いですが、両方手動で操作するのは手間がかかります。
スプレッドシート上で変更した内容がGoogleカレンダーにも反映され、予定が自動的に修正されると負担が軽減されます。
GASでGoogleカレンダーの予定を変更方法
Google Apps Script(GAS)には、Googleカレンダー上に作成済みの予定内容を変更するメソッドがあります。
変更するメソッドは、予定で設定している各要素ごとにsetメソッドが用意されています。
Googleカレンダーの予定で主要な3つの要素を変更するGASのメソッドは以下の通りです。
- 件名の変更:Event.setTitle('変更したいタイトル’)
- 時間の変更:Event.setTime('開始日’, '終了日’)
- 説明の変更:Event.setDescription('予定の説明’)
Googleカレンダーから取得した予定オブジェクトに対し、上記のメソッドを実行すると、件名や開始日/終了日、説明が上書きされます。
それによって、Google Apps ScriptでGoogleカレンダーにすでに存在している予定を変更・修正が可能です。
Googleカレンダー予定を変更するGASサンプルコード
実際にGoogle Apps ScriptでGoogleカレンダーで作成されている予定を変更する方法を解説します。
今回、Googleカレンダーにある赤枠の「GASイベント登録」という予定の件名と、開始日/終了日を変更してみます。
Googleカレンダーの予定を変更するGASサンプルコードを用意しました。
function modifyCalenderEvent() {
//アクセス可能なカレンダーのIDを指定して、Googleカレンダーを取得する
let myCalendar = CalendarApp.getCalendarById('***********@gmail.com');
//Googleカレンダーから取得するイベントの開始日(今日)を設定する
let startDate = new Date();
//Googleカレンダーから取得するイベントの終了日(1週間後)を設定する
let endDate = new Date();
endDate.setDate(startDate.getDate() + 7);
//開始日~終了日に存在するGoogleカレンダーのイベントを取得する
let myEvent = myCalendar.getEvents(startDate, endDate);
//取得した1つ目のイベントの件名を変更する
myEvent[0].setTitle("GAS件名変更");
//取得した1つ目のイベントの時刻を1週間後に変更する
myEvent[0].setTime(endDate,endDate);
}
まず、取得したいGoogleカレンダーのIDを取得した上で、指定した期間に存在するすべてのイベントを10行目で取得します。
※Googleカレンダーのイベント取得方法は以下の記事も併せて参照ください。
その後、setTitleで件名を変更し、setTimeで開始日と終了日を実行したタイミングに変更しています。
GASサンプルコードを実行した結果、Googleカレンダーの予定が移動していることが確認できます。
件名についてもGASのsetTitleに設定されたものに置き換わっていることが確認できました。
Googleカレンダーの予定削除はdeleteEvent
続いてGoogle Apps ScriptでGoogleカレンダーの予定を削除する場合、deleteEventメソッドを使用します。
Event.deleteEvent()
deleteEventは引数不要で、メソッドを実行したイベントオブジェクトを削除します。
このメソッドを実行することで、Googleカレンダーの予定をGASで削除可能です。
Googleカレンダー予定を削除するGASサンプルコード
先程の予定変更と同じように、赤枠部分のGoogleカレンダーの予定を削除する手順を解説します。
Googleカレンダーから取得した1つ目の予定を削除するサンプルコードです。
function delCalenderEvent() {
//アクセス可能なカレンダーのIDを指定して、Googleカレンダーを取得する
let myCalendar = CalendarApp.getCalendarById('gasworkproject@gmail.com');
//Googleカレンダーから取得するイベントの開始日(今日)を設定する
let startDate = new Date();
//Googleカレンダーから取得するイベントの終了日(1週間後)を設定する
let endDate = new Date();
endDate.setDate(startDate.getDate() + 7);
//開始日~終了日に存在するGoogleカレンダーのイベントを取得する
let myEvent = myCalendar.getEvents(startDate, endDate);
//取得した1つ目のイベントの件名を削除する
myEvent[0].deleteEvent();
}
予定変更とほとんど内容は同じですが、12行目にdeleteEvent()メソッドを記述しています。
GASサンプルコードを実行すると、9月20日に存在していた予定が削除することができました。
まとめ・終わりに
今回、Google Apps Script(GAS)でGoogleカレンダーの予定を変更(修正)、削除する方法を紹介しました。
Googleカレンダーの予定変更はGASにあるsetメソッドを利用し、setTitleで件名、setTimeで時間を修正します。
また、予定を削除したい場合は、deleteEventメソッドで実行可能可能です。
予定の修正や削除ができると、Googleカレンダーとスプレッドシートの自動連携ができるようになります。
スプレッドシートを変更するとGoogleカレンダーも反映されるようにスクリプトができます。
二重管理の負担が解消でき、業務効率化にもなるので、ぜひGoogleカレンダーの予定変更・削除をマスターしましょう。
ディスカッション
コメント一覧
まだ、コメントがありません