Outlook予定表から1日の予定を抜き出す

     

    Outlookから今日の予定を抜き出して、音声合成ソフトで読み上げられたら、

    きっとSiriちゃんよりも優秀なコンピュータになるに違いないと思ったので、試してみた。

    まずはVBSで、今後1日の予定をリストアップしてテキスト出力。

    Const olFolderCalendar = 9
    
    Set objOutlook = CreateObject("Outlook.Application")
    Set objNamespace = objOutlook.GetNamespace("MAPI")
    Set objFolder = objNamespace.GetDefaultFolder(olFolderCalendar)
    
    Set colItems = objFolder.Items
    
    For Each objItem In colItems
        If objItem.End >= Now and objItem.End < DateAdd("d", 1, Now) Then
            Wscript.Echo Hour(objItem.Start) & "時" & Minute(objItem.Start) & "分から" & objItem.Subject
        End If
    Next
    Wscript.Echo "です"

    ポイントはVBSを cscript.exe への引数として実行すると、

    コマンド・プロンプト内に直接表示させることができること。

    これをパイプでテキストファイルに出力することで、

    任意のリストで予定を取り出すことができる。

    cscript.exe GetTodaysCalendar.vbs > TodaysCalendar.txt

    参考:

    Microsoft Outlook から定期的な予定の一覧を取得する

    チェック式 WSH入門

    あとはテキストファイルを一行ずつ取り出してやるようなプログラムを組んで、

    コマンドラインから音声合成ソフトに渡してやる。

    使用したのはこのソフト。

    棒読みちゃん

    簡単でふな!

    watch?v=Pe1JRNRMcfQ&feature=youtu.be