概要
Googleカレンダーに同じ名前のイベントを説明欄の内容を変えて作成したいと思ったから、スプレッドシートに日付と説明を入力し、横のUpdateボタンを押すと指定した日付にイベントが作成されるコードを書いた

おまけとしてイベントに割り振られる色をORANGEと指定してある
また、日付と説明を入力し、GoogleAppsScriptによってカレンダーにイベントとして追加された行について、イベントが追加済みであることを明示する列(Added列)を用意した
実装の流れ
以下、実装の流れを軽く説明する
1. スプレッドシートを作成
スプレッドシートを作成し、日付を入力する列(Date)、説明を入力する列(Description)、イベントとしてカレンダーに追加済みであるかを明示する列(Added)を作成
ある行について、その行のイベントがカレンダーに追加済みの場合、その行のAdded列にTRUEが表示される

2. スクリプトエディタでコーディング
上部メニューの「拡張機能」の「App Scirpt」からスクリプトエディタに飛ぶ
以下のソースコードを入力する

ソースコード
function registCalenderEvent(){
let myCalendar = CalendarApp.getCalendarById("MAILADDRESS"); //自分のメアドを入力
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SHEETNAME"); //使うシートの名前を入力
const now = new Date(); //現在時刻を取得
for(let i = 0; i < sheet.getLastRow() - 1; i++){
const TF = sheet.getRange(i + 2, 3).getDisplayValue(); //スプレッドシートのある行に対して、それのイベントが作成済みであるかを確認する変数を宣言
if(TF == "TRUE"){
continue; //イベント作成済みならcontinue
} else {
const data1 = sheet.getRange(i + 2, 1).getDisplayValue(); //スプレッドシートから日付を取得
const data2 = sheet.getRange(i + 2, 2).getDisplayValue(); //スプレッドシートから説明欄に入力する説明を取得
const data3 = sheet.getRange(i + 2, 3); //イベント作成済みであるか否かを判別するセルの参照を変数に割り当てる
const TargetDate = new Date(data1); //Date型のオブジェクトに変換
TargetDate.setFullYear(now.getFullYear()); //スプレッドシートから取得した日付に現在の西暦を設定
const options1 = {
description: "説明 : \n" + data2 //説明欄に記入する内容を格納するオブジェクトを宣言
}
myCalendar.createAllDayEvent("O", TargetDate, options1);
const options2 = {
search: "説明 : \n" //作成したイベントを探す為の文字列を格納するオブジェクトを宣言
}
let createdEvents = myCalendar.getEventsForDay(TargetDate, options2); //色を割り振る為に、作成されたイベントを取得
createdEvents[0].setColor("6"); //イベントにORANGEカラーを割り当てる
data3.setValue("TRUE"); //イベントが作成済みであることを示す文字列をスプレッドシートに追加
}
}
}
参考 : 公式リファレンス(英語)
3. スクリプトを実行しやすくする為にスプレッドシート上にボタンを配置
上部メニューの「挿入」の「図形描画」からボタンのデザインを決定し、作成したボタンの右上の三点リーダーから「スクリプトの割り当て」を選択し、先程作成した関数名を選択
ついでに、条件付き書式でAdded列の各セルについて、値が挿入されているときに色を付けるようにした

これで作成したボタンを押すだけでスクリプトが実行されるようになった