• ベストアンサー

最小化したoutlook元に戻すマクロ

Outlook2007のVBAマクロを使用して、新着メッセージを受信した場合に確認メッセージダイアログを表示させようとしています。 ダイアログのOKボタンを押すと、Outlookが最小化されていた場合は元の状態に戻し、Outlookのウインドウを表示したいのですが、うまくいきません。 どうすれば実現可能でしょうか。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

WindowStateじゃ無くて Activateを使ったらうまく行くのではないでしょうか Private Sub Application_NewMail()   MsgBox "新着メッセージが届きました"   ActiveExplorer.Activate End Sub お試しください

Harusir
質問者

お礼

ありがとうございます。 Activateを使用すれば実現できました。 的確なご回答ありがとうございました。 ちなみに、マクロは次の様な形で落ち着きました。 Private Sub Application_NewMail()   If MsgBox("新着メッセージが届きました", vbMsgBoxSetForeground + vbOKCancel) = vbOK Then     ActiveExplorer.Activate   End If End Sub

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

Outlook自体のウィンドウなら ActiveExplorerのWindowStateを操作すればいいようですよ ' アイコン化マクロ Sub Normal2Icon()   ActiveExplorer.WidnowState = olMinimized End Sub ' ノーマルウインドウ化マクロ Sub Icon2Normal()   ActiveExplorer.WindowState = olNormalWindow End Sub

Harusir
質問者

お礼

ありがとうございます。やってみました。 確かにoutlookのウインドウが表示されている時は、ノーマルでもアイコン化でも可能みたいですが、アイコン化している場合にノーマル状態に戻そうとするとエラー(エクスプローラまたはインスペクタのWindowStateを設定できません。)が発生しました。 ちなみにソースは次のとおりです。 新着メッセージのイベントに記述しているのが間違いなのかもしれないですが・・・ Private Sub Application_NewMail() MsgBox "新着メッセージが届きました" ActiveExplorer.WindowState = olNormalWindow End Sub

関連するQ&A