Microsoft Outlookで特定のメールを受信したとき、音声とポップアップで知らせる

前回は、Microsoft Outlookで特定のメールを受信したとき、ポップアップメッセージと音で知らせるマクロについて書きました。今回は音声でメール到着を知らせるようにします。


音声は音声合成を使って自由な言葉を発声できるようにします。
音声合成のプログラムは、株式会社 アクエスト http://www.a-quest.com/ が無料で使える AquesTalk を公開しています。
詳しいことは同社の説明を読んでください。AquesTalk – テキスト音声合成ミドルウェア
サンプル音も聞けるので試してみるのもいいでしょう。コンピュータらしくて、ちょっとわくわくしますね。
プログラムのダウンロードは、AquesTalk Win版 (free!) のページから、Ver.2.1 aqtk20061012.zip (Vector) をクリックします。説明にしたがってプログラムをダウンロードします。
適当なフォルダで解凍します。自分の場合はC:\homeのフォルダに解凍しました。C:\home\AquesTalk\binにサンプルプログラム AqTkAppがあるので起動して、音声合成させてみましょう。話すスピードを変えたり、自由な言葉を発声させたり、数字の読み上げなんかもできます。
さて、Outlookのマクロで使うのは AquesTalkDa.dll です。マクロプログラムから呼び出して、音声を出力します。
アクエストさんのWEBサイトに、VBで使う方法が掲載されているので参考にしました。
AquesTalkをVBで使う
http://blog-yama.a-quest.com/?page=2
それでは前回同様に、マクロを作成するため、メニューバーから[ツール]-[マクロ]-[Visual Basic Editor]を選択します。
下のマクロを貼り付けてください。この例ではtestフォルダをチェックして、仕分け機能で受信したメールがtestフォルダに追加されたら、「メールを確認してください」と音声でお知らせし、メッセージをポップアップします。

Private Declare Function AquesTalkDa_PlaySync Lib "c:\home\AquesTalk\bin\AquesTalkDa.dll" (ByVal koe As String, ByVal iSpeed As Integer) As Long
Public WithEvents myOlItems As Outlook.Items
Public Sub Application_Startup()
'下のtestをチェックしたフォルダ名に変更する
strCheckFolder = "test"
Set objInbox = Session.GetDefaultFolder(olFolderInbox)
strFolderName = objInbox.Parent
Set objMailbox = Session.Folders(strFolderName)
Set objFolder = objMailbox.Folders(strCheckFolder)
Set myOlItems = objFolder.Items
End Sub
Private Sub myOlItems_ItemAdd(ByVal Item As Object)
strMessage = "メールを確認してください"
Set objShell = CreateObject("Wscript.Shell")
Do While True
call Speak
If objShell.Popup(strMessage, 2, "メール到着", 64) = 1 Then Exit Do
Loop
End Sub
Private Sub Speak()
strOnsei = "めーる/を/かくにん/してくだ'さい"
iRet = AquesTalkDa_PlaySync(strOnsei, 100)
End Sub

outlook20090215-1.png
自分の場合は AquesTalkDa.dll を C:\home\AquesTalk\bin に置いてあるので、マクロの1行目で
Private Declare Function AquesTalkDa_PlaySync Lib “c:\home\AquesTalk\bin\AquesTalkDa.dll" (ByVal koe As String, ByVal iSpeed As Integer) As Long
としてます。置いてある位置を指定してください。
貼り付けたら、メニューバーから[ファイル]-[終了してMicrosoft Outlookへ戻る]を選びます。
次にマクロを有効にするため、メニューバーから[ツール]-[マクロ]を選ぶとマクロウインドウが表示されます。「実行」ボタンをクリックします。
outlook20090215-2.png
最後にマクロの動作をチェックします。たとえば受信フォルダから適当なメールをtestフォルダに移動します。
「メールを確認してください」と音声が聞こえ、以下のようなポップアップメッセージと音が鳴ればOKです。ポップアップの「OK」ボタンをクリックしない限り、2秒間隔でなんども音声とポップアップが表示されます。
outlook20090215-3.png
メールが到着すると音声で知らせてくれるので、他の作業をやっていても、メールを見逃す心配がありません。

未分類

Posted by skw