Googleカレンダーの予定を一括削除|範囲を決めてから消す
google カレンダー 一括 削除で検索する状況は、だいたい決まっている。試しに取り込んだ予定が何百件も入ってしまった、退職した人の定例が半年先まで残っている、間違った時間で繰り返しを作ってしまった、のどれかだ。ここでは消す前に決めるべき範囲の話から始めて、カレンダーごと消す手順、自動化の仕組みを使う場合の制限、そして消してから気づいても間に合うように取っておく控えまでをたどる。
まとめて消す入口は、標準の画面には用意されていない
先に結論を書くと、Googleカレンダーの画面には「この期間の予定を全部消す」という操作がない。1件ずつ開いてゴミ箱を押す以外の道は、標準の画面の中には見つからない。この点は、一括削除の道具を作って公開している側からも同じ形で説明されている。
予定の一括削除が行えないため、Googleカレンダーに設定してある複数の予定を削除するには、手作業で一つずつ消していかなくてはならず、大量の予定の削除には非常に時間と手間がかかります。 出典: note.com
だから一括削除の話は、結局のところ3つの道のどれを選ぶかという話になる。1つ目はカレンダーそのものを消す道、2つ目は自分で自動化の仕組みを書いて回す道、3つ目は画面から組める外部の自動化サービスに任せる道だ。件数が多いほど、そして条件が細かいほど、選ぶ道は変わる。
順番として最初にやることは、道具を探すことではない。消す対象の範囲を決めることだ。範囲が決まっていない状態で自動化を回すと、消える範囲も決まっていないまま走る。戻せる余地がほとんどないぶん、ここを飛ばした代償は大きい。
範囲を決める4つの軸
一括削除の条件は、実務では次の4つの軸のどれか、あるいは組み合わせで書かれる。
- 期間: 開始日と終了日で切る。過去の整理なら終了日を昨日に、先の予定を消すなら開始日を今日に置く
- カレンダー: どの箱の中を消すのか。主カレンダーと副カレンダーを混ぜないほうが事故が減る
- 予定の名前: 特定の文字を含む予定だけを対象にする。取り込みで入った予定は名前が揃っていることが多く、この軸が効く
- 作成者と主催者: 自分が作った予定だけ、あるいは特定の相手が主催する予定だけに絞る
このうち見落とされやすいのが4つ目だ。自分のカレンダーに並んでいる予定でも、主催者が他人なら、消す操作は辞退に相当する。範囲の条件を「期間だけ」で書くと、自分が作った予定と招待されている予定がまとめて対象になり、取引先の定例まで一斉に降りてしまう。条件には作成者の軸も入れておく。
範囲が決まったら、その範囲に何件入るのかを先に数える。数える方法は、消す道と同じ手段でよい。検索欄にキーワードを入れて出てきた件数を見る、あるいは自動化の仕組みで削除を実行せず件数だけを書き出す。この数字が想定と桁で違っていたら、条件のどこかが間違っている。桁が合っていることを確かめるだけで、取り違えの大半はここで止まる。
繰り返しの予定も別に考える必要がある。1回分だけを消すと、繰り返しの定義は生きたまま、その日を除くという例外の情報が足される。Googleカレンダーの開発者向け資料は、繰り返し全体を変えたいときに1回分ずつ触らないよう明確に注意しており、理由として例外が積み上がって読み込みが遅くなることと、変更の通知が出席者へ大量に飛ぶことを挙げている。半年分の定例を消すなら、回ごとに消すのではなく繰り返しの親のほうを1度で消す。
カレンダーごと消すのが最も速い。主カレンダーだけ結果が違う
範囲が「その箱の中身すべて」で済むなら、いちばん速いのはカレンダーを消すことだ。後から作った副カレンダー(仕事用、家族用、取り込み用のように名前を付けた箱)を消せば、中の予定はまとめて消える。
カレンダーを完全に削除する対象のカレンダーと全ての予定を削除します。共有相手もアクセスできなくなります。元には戻せません。 出典: sites.google.com
注意すべき点が2つある。1つは復元の猶予がないことだ。予定を1件ずつ消したときはゴミ箱に30日残るが、カレンダーを消す操作にその窓はない。もう1つは、自分の名前が付いている主カレンダーは消せないことだ。この箱に対しては、箱ごとではなく中の予定が全部消えるという別の結果になる。Googleカレンダーの開発者向け資料でも、主カレンダーに対する処理は「その主カレンダーに紐づくすべての予定を削除する」という独立した命令として定義されており、箱を消す命令とは別に用意されている。
この差は、実務では手順の違いになる。取り込みで大量の予定が入ってしまった場合、それが主カレンダーの中なら箱を作り直して逃げることはできない。その場合の現実的な段取りは、残したい予定を新しく作った副カレンダーへ移し、移し終わったことを目で確かめてから、主カレンダーの予定をすべて削除する形になる。移す操作は予定の編集画面でカレンダーの指定を変えるだけで済み、件数が数十件なら手作業でも終わる。
自動化の仕組みで消す場合の手順と制限
条件が細かいときや、主カレンダーの一部だけを消したいときは、Googleが用意している自動化の仕組み(Apps Script)を使う道になる。ブラウザだけで書けて追加の費用はかからないが、決められた上限がある。
公開されている上限のうち、一括削除で先に当たるのは実行時間だ。1回の実行は6分で打ち切られる。これは個人のアカウントでも組織のアカウントでも同じ値になっている。時間で起動する仕組みの合計時間には差があり、個人のアカウントは1日90分、組織のアカウントは1日6時間と公開されている。つまり数千件を一度に消そうとすると、途中で止まる前提で組む必要がある。実務では、100件ずつ処理して続きの位置を記録し、時間で起動する仕組みに何度も呼ばせる形に分ける。
もう1段奥には、カレンダー側の上限もある。公開されている値では、1つの利用者が1分あたりに投げられる要求が600件、プロジェクト全体では1分あたり10,000件、1日あたり1,000,000件となっている。1件の削除が1要求にあたるため、1分で600件を超える速さで消そうとすると途中で弾かれる。弾かれたときの扱いについては、待つ時間を少しずつ伸ばして投げ直す方法が推奨されている。
書く内容そのものは難しくない。対象のカレンダーを指定し、期間で予定を取り出し、名前や主催者の条件で絞り、残ったものに削除を指示する、という並びになる。難しいのは条件の書き方で、絞る条件を1つ書き忘れただけで対象が何倍にも膨らむ。最初は削除を実行せず、対象の件数と予定名だけを書き出して目で確かめる段階を必ず挟む。
画面から組める自動化サービスに任せる道
コードを書かずに同じことをしたい場合は、業務の流れを画面から組める自動化サービスを使う道がある。この種類のサービスは、Googleカレンダーの予定を条件で取り出して削除するところまでを部品として用意している。
YoomにはGoogleカレンダーの予定を一括削除する業務フロー自動化のテンプレートが用意されているので、「まずは試してみたい!」という方は、以下のバナーをクリックして、すぐに自動化を体験してみましょう! 出典: lp.yoom.fun
この道を選ぶときの判断材料は3つある。1つ目は、そのサービスにGoogleアカウントへの接続を許すことになる点だ。カレンダーの読み取りと書き換えの権限を渡すため、何を許可したのかを画面で確かめておく。2つ目は、一度きりの整理なのか、毎月続く作業なのかという点だ。一度きりなら接続の設定に手間をかけるより、副カレンダーへ移して箱ごと消すほうが早く終わることが多い。3つ目は費用で、無料の範囲で動く回数に上限が置かれている場合がある。
有料の道具を買う選択もある。一括削除に特化した道具が個人の作者から販売されており、たとえば前に引いた記事の作者は自作の一括削除ツールを980円からの価格で公開している。買うかどうかの判断は、消す件数と自分の時間の見合いで決まる。1件消すのに10秒かかるとして、300件なら50分になる。その50分と価格を並べて比べればよい。
この種類の道具を使う場合も、確かめる点は自分で書く場合と変わらない。対象の条件がどう書かれているか、実行する前に件数を見せてくれるか、途中で止まったときに続きから再開できるか。この3つが揃っていない道具は、件数が多い場面では使いにくい。無料か有料かより、この3点のほうが結果を左右する。
消す前に取っておく控え
一括削除は、間違えたときに戻す手段がほとんどない操作だ。始める前に控えを取る。
いちばん確実なのは、Googleカレンダーの設定画面からその内容を書き出しておく方法だ。設定を開いてインポートとエクスポートの項目に進むと、カレンダーの中身をiCalendar形式のファイルとして受け取れる。この形式は標準として文書化されており、予定ごとにUIDという世界で一意な識別子を持つと定義されている。この識別子は予定を後から変更したり削除したりする要求を突き合わせるための鍵でもある。つまり書き出したファイルには、単なる文字の一覧ではなく、戻すときに必要な手がかりまで含まれている。
控えを取ったら、消す前に3つ確かめる。対象の件数が想定と合っているか、その中に招待されている予定が混ざっていないか、共有相手がいるカレンダーを触っていないか。1つでも合わなければ、条件を書き直してからもう一度数える。数える作業を省いた回に限って、想定の何倍も消える。
書き出したファイルは、消したあとに元へ戻す用途にも使える。同じ設定画面から取り込みができるため、消しすぎたことに気づいたらファイルを取り込み直す手が残る。ただし戻る先のカレンダーは自分で選ぶことになり、繰り返しの予定が元の形どおりに復元されるとは限らない。あくまで最後の手段であって、ゴミ箱の代わりにはならない。
消したあとの確認も同じ重みがある。ゴミ箱を開いて、入っている件数と予定名を見る。副カレンダーを箱ごと消した場合はゴミ箱に入らないため、この確認はできない。だからこそ、箱ごと消す前の書き出しが最後の綱になる。
一括削除が毎回必要になるなら、入れ方の側に理由がある
一括削除は本来、年に数回あれば十分な作業だ。毎月必要になっているなら、予定が増える入口の側に原因がある。よく見つかるのは3つの型になる。
1つ目は、取り込みを試すときに主カレンダーを使ってしまう型だ。外部の一覧やファイルから予定を入れる作業は、最初は必ず専用の副カレンダーに入れる。合わなければ箱ごと捨てられる。
2つ目は、仮の予定と確定した予定を同じ箱に入れる型だ。返事待ちの枠が確定の枠と同じ見た目で並ぶため、確定しなかった枠を後から探して消す作業が毎週生まれる。仮の枠だけを別の箱に分ければ、消すときも箱の単位で済む。
3つ目は、移動の時間を予定に含めない型だ。会議の終わりと次の始まりが接していると、行けないと気づいた時点でどちらかを消す。移動にかかる時間を先に枠として置く考え方は移動時間にまとめてある。予定を書き起こす手間そのものを減らす方向では、話し言葉と音声で予定を入れられる形の入力を持つカレンダーアプリもあり、何ができるかはできることに並べてある。入力の作法は予定の入れ方、他のカレンダーとの違いは他のカレンダーとの比較、細かい疑問はよくある質問から確かめられる。
よくある質問
Googleカレンダーに期間を指定してまとめて消す機能はありますか?
標準の画面には用意されていません。実務で使われているのは、副カレンダーを箱ごと削除する方法、Googleの自動化の仕組み(Apps Script)で条件を書いて回す方法、画面から組める外部の自動化サービスに任せる方法の3つです。件数が多いほど、そして条件が細かいほど、後者の2つが現実的になります。
カレンダーを削除した予定はゴミ箱から戻せますか?
戻せません。1件ずつ消した予定はゴミ箱に30日残りますが、カレンダーそのものを削除する操作にその猶予はなく、共有相手の画面からも消えます。箱ごと消す前に、設定画面のインポートとエクスポートからiCalendar形式で書き出して控えを取っておきます。
自分の名前が付いたカレンダーは削除できますか?
削除できません。この主カレンダーに対しては、箱を消すのではなく中の予定がすべて削除される形になります。残したい予定がある場合は、先に新しく作った副カレンダーへ移し、移し終わったことを確かめてから予定の全削除を行います。
自動化の仕組みで数千件を一度に消せますか?
1回の実行が6分で打ち切られるため、一度では終わらない前提で組みます。100件ずつ処理して続きの位置を記録し、時間で起動する仕組みに繰り返し呼ばせる形が確実です。カレンダー側にも1人あたり1分600件の上限があり、これを超える速さで投げると弾かれます。