LoginSignup
3
5

More than 5 years have passed since last update.

【GAS】GAS・Googleカレンダーを使った超簡単な日報作成

Posted at

はじめに

Google Apps Scriptを使って簡単な日報を作りましょう。
その日のGoogleカレンダーの予定を自動で書き出してくれます。

若手メンバーが日報を書いて上司に提出することがあると思いますが、その日の予定をいちいち書いてるのが大変だろうなあと思って作ってみました。

※GASが何であるか、GASでのスクリプトの書き方等は一旦触れずに記載します(あしからず)

やりかた

1.まずは下記スプレッドシートをコピーしましょう。

スプレッドシート
https://docs.google.com/spreadsheets/d/122nE7kgpgHXrA9UzArfcFa8781EDLaorCtw0p0hBi0k/edit#gid=0

2. 次にスプレッドシートのスクリプトエディタを開き、下記をコピペしてください。

qiita.js
/* 指定のカレンダーの本日の予定をチャットワークに送る */
function getSchedule() {

  //スプレッドシート取得 
  var text   = SpreadsheetApp.getActiveSheet();
  var date = text.getRange(1,2).getValue();

  //カレンダー取得
  var myCals=CalendarApp.getDefaultCalendar(); //特定のIDのカレンダーを取得
  var myEvents=myCals.getEventsForDay(date); //カレンダーの本日のイベントを取得

  // ヘッダー
  var strBody = "▼予定:" + Utilities.formatDate(date, 'JST', 'yyyy/MM/dd'+'\n')

  // 予定取得
  for(var i=0; i < myEvents.length; i++){
    var strTitle=myEvents[i].getTitle(); //イベントのタイトル
    var strStart=_HHmm(myEvents[i].getStartTime()); //イベントの開始時刻
    var strEnd=_HHmm(myEvents[i].getEndTime()); //イベントの終了時刻
    strBody = strBody + strStart + ' - ' + strEnd + ":" + strTitle + '\n'; //チャットワークに送る文字列にイベント内容を追加
  }
  text.getRange(2,2).setValue(strBody);  
}

  //現時刻
function _HHmm(str){

  return Utilities.formatDate(str, 'JST', 'HH:mm');

}

3. スプレッドシートのB1セルで取得したい予定の日付を選択し、関数「getSchedule」を実行

すると、、、

こんな感じでその日の予定が書き出されます!!

image.png

なにかご不明点あればいつでもコメント下さい。

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5