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をチェックするだけでづ。
GoogleカレンダーのカレンダーIDについても、以前の記事にかいています。
ぜひみてくださいね。
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()という形式でコーディングします。
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()をつかえば、何分というのをひっぱってきますよ。
以上が今回の内容になります。