Outlook の現在実行中のバージョンを取得しようとしている、または Outlook が実行されていない場合に Outlook を起動しようとしていますが、Windows 7 で Outlook アプリケーション オブジェクトを取得または作成する際に問題が発生しています。 Vista および 7 で制限されているユーザー権限。Outlook 2010 を使用しています。
編集:これらのエラーは、Outlook 2010 インスタンスを既に開始している場合にのみ表示されます。Outlook が起動していない場合、アプリケーションはスムーズに実行できます (Outlook インスタンスを単独で起動できます)。
Outlook アプリケーションのバージョンを正しく取得する方法を誰か教えていただければ、とても助かります。
私が実行しているコードは、例外をトリガーし続ける長い try-catch ブロックです。
try
{
// create an application instance of Outlook
oApp = new Microsoft.Office.Interop.Outlook.Application();
}
catch(System.Exception ex)
{
try
{
// get Outlook in another way
oApp = Marshal.GetActiveObject("Outlook.Application") as Microsoft.Office.Interop.Outlook.Application;
}
catch (System.Exception ex2)
{
// try some other way to get the object
oApp = Activator.CreateInstance(Type.GetTypeFromProgID("Outlook.Application")) as Microsoft.Office.Interop.Outlook.Application;
}
}
アプリケーションから次の例外がスローされます。
新しい Outlook アプリケーション インスタンスを作成しようとすると、次のようになります。
次のエラーのため、CLSID {0006F03A-0000-0000-C000-000000000046} を持つコンポーネントの COM クラス ファクトリを取得できませんでした: 80080005。
Outlook アプリのインスタンスを取得しようとすると:
操作を利用できません (HRESULT からの例外: 0x800401E3 (MK_E_UNAVAILABLE))
Activator を使用してインスタンスを作成しようとすると
次のエラーのため、CLSID {0006F03A-0000-0000-C000-000000000046} を持つコンポーネントの COM クラス ファクトリを取得できませんでした: 80080005。
ありがとうございました!