VB.NET プログラムから Outlook を自動化し、ユーザーの要求に応じてアイテムをカレンダーと連絡先に転送しています。それは問題ではありません。問題は、Outlook をまだ開いていないときにこのように自動化すると、非表示のインスタンスが作成されることです。おそらく、これがどのように役立つか理解できます。ユーザーがまだ作業中に閉じないようにするためですが、Outlook は 1 つのインスタンスのみを強制するように見えるため、プログラムがまだ実行されている間に行われた変更をユーザーが検査しようとすると、 Outlook にフックしても、何も起こりません。1 つのインスタンスはその非表示のインスタンスであり、ユーザーは何も見ることができません。
COM オートメーションの昔は、Word や Excel を表示することができましたが、Outlook ではそれができないようです。私はもう試した:
OutlookApp.Visible = True
OutlookApp.Application.Visible = True
OutlookApp.ActiveWindow.Visible = True
OutlookApp.ActiveExplorer.Display()
しかし、どれも機能しません。
重要ではありませんが、Outlook にメイン ウィンドウを表示させることができるかどうか知っている人はいますか? ユーザーがインスタンスを閉じることを禁止することができればボーナスポイントですが、ウィンドウを表示するだけで解決します:)