17 Jun 2012, 12:19

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