midorikusagameのブログ

株式投資、時間の節約、プログラミング

Google Apps Scriptをつかって、Google Calendarの内容をGoogle Documentにかいてみる

 

Google Apps Scriptをつかって、Googleカレンダーの内容をGoogleドキュメントにかいてみます。

Google Apps Scriptをつかいこなせば、GoogleカレンダーGoogleドキュメントで行う単純な繰り返す作業を短時間に、おこなことができます。

 

今回のプログラム

プログラム以下のとおり。


function myFunction() {
  //①
  const cal_id = "グーグルカレンダーのID";
 //②
  const doc_id = "グーグルドキュメントのID";
 //③
  let myCal = CalendarApp.getCalendarById(cal_id);
 //④
  let myDoc = DocumentApp.openById(doc_id);
  //⑤
  let myDocBody = myDoc.getBody(); //
 //⑥
  let startTime = new Date(2023,4,8,00,00);
  let endTime = new Date(2023,4,9,23,00);
 //⑦
  let myEvent = myCal.getEvents(startTime,endTime);
 //⑧
  for (let i = 0; i <= myEvent.length-1;i++){
    myDocBody.appendParagraph("").setLineSpacing(2);
    myDocBody.appendParagraph(myEvent[i].getTitle());
    myDocBody.appendParagraph(myEvent[i].getStartTime().getHours());
    myDocBody.appendParagraph(myEvent[i].getEndTime().getHours());
    myDocBody.appendParagraph(myEvent[i].getDescription());
    
}    

 

Google DocumentのIDを確認する。

①と②のところ。

Google DocumentのIDを確認する方法は以前の記事を参考にしてください。

Google Documentにアクセスし、ウェブブラウザのURLをチェックするだけでづ。

 

midorikusagame.com

 

GoogleカレンダーのカレンダーIDについても、以前の記事にかいています。

ぜひみてくださいね。

 

midorikusagame.com

 

 

GoogleカレンダーGoogleドキュメントの情報をゲットする

それぞれのIDがわかったら


let myCal = CalendarApp.getCalendarById(cal_id);
et myDoc = DocumentApp.openById(doc_id);

これでユーザーの使いたい情報がゲットできます。プログラムの③と④のところ。

 

 

Googleドキュメントの本文の情報をゲットする

変数のmyDocからgetBodyメソッドをつかってドキュメントの本文の情報を取得します。⑤のところですね。


let myDocBody = myDoc.getBody();

 

Googleカレンダーの指定された期日の情報を取得する。

⑥、⑦のところです


let startTime = new Date(2023,4,8,00,00);
let endTime = new Date(2023,4,9,23,00);

let myEvent = myCal.getEvents(startTime,endTime);

になります。

以前の記事でもふれています。指定された期日の情報を取得するにはgetEventsメソッドを使用。

日付の書き方はコードにようにnew Date()という形式でコーディングします。

 

midorikusagame.com

 

appendParagraphメソッドをつかってGoogleドキュメントに書いていく

appendParagraphメソッドを使用。

 

myDocBody.appendParagraph(myEvent[i].getTitle()); myDocBody.appendParagraph(myEvent[i].getStartTime().getHours()); myDocBody.appendParagraph(myEvent[i].getEndTime().getHours()); myDocBody.appendParagraph(myEvent[i].getDescription());

 

今回、文章に書く内容は

 

内容 プロパティ
タイトル getTitle()
開始期日 StartTime()
終了期日 getEndTime()
予定詳細 getDescription()

 

です。ほかにも、予定の色を取得してたり、予定の場所(どこで食事をするとか、どこに集まる)などの情報も取得できます。

ひとつ注意があり、期日はもうひとてまがかかります。

それぞれgetHours()というのがくっついています。これで時間がわかるんですね。

 

何分まで書き残したいよってヒトがいれば、getMinutes()をつかえば、何分というのをひっぱってきますよ。

 

以上が今回の内容になります。