2011年7月9日土曜日

[GAS] 関数説明 ~今日の予定をGoogleカレンダーから取得しメールする~

 まずは全スクリプトを掲載します。解説は次回から!

function dailySummary(){
    var r = CalendarApp.getAllOwnedCalendars();
    var num = r.length; 
    var allText = "";

    for(var i = 0; i< num ; i++){
        var g = r[i].getName();
        allText = allText + getData(g);
    }

    //メール送信部分
    var to = "(任意のメールアドレスを入れてください)";
    var subject = "[dairy]本日の予定";
    allText = "★本日の予定一覧です。\r\n" + allText;
  
    MailApp.sendEmail(to, subject, allText);
}


function getData(name){
    //開始時間を設定
    var d1 = new Date();
        d1.setHours(0);
        d1.setMinutes(0);
        d1.setSeconds(0);

    //終了時間を設定
    var d2 = new Date();
        d2.setHours(23);
        d2.setMinutes(59);
        d2.setSeconds(59);
 
    if (name != "" & name != "cancel"){
        var cal = CalendarApp.openByName(name);
        var data = cal.getEvents(d1,d2);
        var num = data.length;

        var allText = "";   //すべてのテキスト
        var s = "";  //開始時間
        var e = "";  //終了時間
        var t = "";  //予定のタイトル
        var d = "";  //予定の説明
        var i = 0;

        allText = "■" + name + "\r\n\r\n";

        for(i = 0; i< num ; i++){
            if (data[i]) {
                s = "・" + t2c(data[i].getStartTime()) + "~";
                e = t2c(data[i].getEndTime()) + "\r\n";
                t = "  " + data[i].getSummary() + "\r\n";
                d = data[i].getDescription();

                if(d){
                    d = "  " + d + "\r\n";
                }
                allText =  allText + s + e + t + d + "\r\n";
            }
        }
        return allText;
    }
}


function t2c($t){
  // time2convert
    return Utilities.formatDate(new Date($t),"JST","HH:mm");
}

0 件のコメント:

コメントを投稿

ザ・シークレットサービス

大層ななまえですが、選択した文字列をシークレットウインドウ内で、 Google検索するというものです。 https://docs.google.com/open?id=0B58uK3aQr15IM0ItWk1WVnFUWnVleXJVWEhqUktCdw 1...