Googleカレンダーのカレンダー全体ではなく、多くの日付のすべてのイベントを一度にすべて削除するにはどうすればよいですか?


22

Googleカレンダーのカレンダー全体ではなく、多くの日付のすべてのイベントを一度にすべて削除するにはどうすればよいですか?イベントを削除する日付をクリックして、その日付の2日後にマウスをドラッグしましたが、「イベントの作成」が常に表示されます。これらのイベントをすべて押しbackspaceたりdelete削除したりできると思いました。

これまでに行ったことは、イベントを1つずつ削除することです:(


これを可能にする組み込み機能はありません。カレンダー用のAPIがある場合、誰かがこれを行うアプリを作成できる可能性がありますが、私は知りません。
エール

回答:


25

このようなGoogleスクリプトでこれを行うことができました。これを変更して、削除する日などを特定できます。

function delete_events()
{
    var fromDate = new Date(2013,0,1,0,0,0); 
    var toDate = new Date(2013,0,4,0,0,0);
    var calendarName = 'My Calendar';

    // delete from Jan 1 to end of Jan 4, 2013 (for month 0 = Jan, 1 = Feb...)

    var calendar = CalendarApp.getCalendarsByName(calendarName)[0];
    var events = calendar.getEvents(fromDate, toDate);
    for(var i=0; i<events.length;i++){
      var ev = events[i];
      Logger.log(ev.getTitle()); // show event name in log
      ev.deleteEvent();
    }
 }

これはどこに入力しますか?
ジャスティンタイム14

4
Google Scriptsで新しいスクリプトを作成し、これを貼り付けcalendarNameます。カレンダーに関連付けられている電子メール(GMail)アドレスに変更します。
エマードアーメドマンズール14

2
変数calendarNameについては、実際の完全なgmailアドレスを使用しない限り、メインカレンダーで機能しませんでした。Googleカレンダーの左側にこのカレンダー名を表示すると、ちょうど私の名前と姓として表示されましたが、calendarName変数では機能しませんでした。サブアカウントカレンダーの場合、カレンダーの左側に表示されるカレンダー名は正常に機能しました。間違ったカレンダー名を使用すると、次のエラーメッセージが表示されます。そのため、メッセージTypeError:Cannot call ungetメソッド "getEvents"が表示されない場合。
カート14年

1
(上記は回答をコメントに変えて編集したものです。この情報は役に立つと思うので、保存しました)
jonsca

8

特定のイベントを探したい場合に、このスクリプトを価値のあるものにできる修正を見つけました。意図的またはインポートされていないこと。多くのエントリの名前にサイクル1チェックポイント10があり、その後に数字などが続くとしましょう。「サイクル1チェックポイント10」、「サイクル1チェックポイント20」は見つかりますが、「サイクル1チェックポイント10」は見つかりません。

function delete_events()
{
  //take care: Date function starts at 0 for the month (January=0)
  //{search: 'cycle'+"*"+'Checkpoint'} hier zijn de search terms
  var fromDate = new Date(2014,7,1,0,0,0); //This is August 1, 2014
  var toDate = new Date(2016,2,1,0,0,0);   //This is March 1, 2016 at 00h00'00"
  var calendarName = 'GuyForssman';


  var calendar = CalendarApp.getCalendarsByName(calendarName)[0];
  var events = calendar.getEvents(fromDate, toDate,{search: 'cycle'+"*"+Checkpoint'+"*"});
  for(var i=0; i<events.length;i++)
  {
    var ev = events[i];
      Logger.log('Item '+ev.getTitle()+' found on '+ev.getStartTime()); // show event name and date in log
      //ev.deleteEvent(); //uncomment this line to actually do the delete !
  }
}

これにより、上記のスクリプトが拡張されます。私は数分で全体の年間のカリキュラムを削除することができ、感謝
ダニエル・フィラトフ

3

以前のカレンダーシステムからGoogle Appsに移行した後、定期的なイベントはすべて個別にインポートされました。https://script.google.comで新しいGoogle Scriptを作成し、一部のイベントのみを削除するように変更しました(新しい定期的なイベントは別の名前で既に作成されています)。

function delete_events()
{
  //take care: Date function starts at 0 for the month (January=0)
  var fromDate = new Date(2014,7,1,0,0,0); //This is August 1, 2014
  var toDate = new Date(2016,2,1,0,0,0);   //This is March 1, 2016 at 00h00'00"
  var calendarName = 'your_calendar_name';
  var toRemove = 'title_of_the_events';

  var calendar = CalendarApp.getCalendarsByName(calendarName)[0];
  var events = calendar.getEvents(fromDate, toDate,{search: toRemove});
  for(var i=0; i<events.length;i++)
  {
    var ev = events[i];
    if(ev.getTitle()==toRemove) //check if the title matches
    {
      Logger.log('Item '+ev.getTitle()+' found on '+ev.getStartTime()); // show event name and date in log
      //ev.deleteEvent(); //uncomment this line to actually do the delete !
    }
  }
}

2

私が見つけた最高のことは、モバイルアプリAppgenixsoftwareのBusiness Calendar Proから一括削除機能を使用することです。


2

http://www.gcaltoolkit.comに無料のAPIクライアントがあります。1000エントリの無料ネットワークバージョンと、WindowsおよびMacの無料バージョンもダウンロードできます。私はそれを試してみましたが、すぐにうまくいきました。

日付または検索語で選択できますが、さらに手動で変更できるようです。または、削除するものをクリックします。決定したら、変更をGoogleカレンダーにコミットするボタンがあります。

数分前に同じ問題を抱えていたときに、これが非常に役立つことがわかりました。ここにないことがわかりました。


-2

カレンダーのすべてのイベントを削除する場合は、カレンダー設定に移動してカレンダー全体を削除できます。

メインカレンダーの場合はすべてのエントリが削除され、別のカレンダーの場合はカレンダー全体が削除されるため、新しいカレンダーを作成する必要があります。


2
カレンダー全体ではありません。わずか3つの日付。
アリー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.