Outlook 2007 にマクロを追加して、Outlook をシャットダウンするときに不在時アシスタントをオンにするかどうかを尋ね、Outlook を開いたときに不在時アシスタントをオフにするかどうかを尋ねたいと思っています。閉じるときにプロンプトを作成する手順は、次のとおりです (Outlook 2010: Outlook が閉じているときに不在通知を自動的にオンにする方法を教えてください。そしてhttp://itknowledgeexchange.techtarget.com/itanswers/automating-out-of-office/) ですが、開いたときのプロンプトのマクロの書き方がわかりません。
答え1
Private Sub Application_Quit()
OutOfOffice True
End Sub
ここがあなたが興味を持っている部分です。
Private Sub Application_Startup()
OutOfOffice False
End Sub
Sub OutOfOffice(bolState As Boolean)
Const PR_OOF_STATE = "http://schemas.microsoft.com/mapi/proptag/0x661D000B"
Dim olkIS As Outlook.Store, olkPA As Outlook.PropertyAccessor
For Each olkIS In Session.Stores
If olkIS.ExchangeStoreType = olPrimaryExchangeMailbox Then
Set olkPA = olkIS.PropertyAccessor
olkPA.SetProperty PR_OOF_STATE, bolState
End If
Next
Set olkIS = Nothing
Set olkPA = Nothing
End Sub
「Outlook 2010 ではコードをテストしていません」という注記があります。
また、「CDO (Collaboration Data Objects) がコンピューターにインストールされている必要があります。CDO がインストールされていない場合は、この Microsoft ページからダウンロードできます。」