コードで の新しいインスタンスを作成しようとするとMicrosoft.Office.Interop.PowerPoint.Application
、次の例外が発生することがあります。
System.Runtime.InteropServices.COMException (0x80010001): Retrieving the COM class factory for component with CLSID {91493441-5A91-11CF-8700-00AA0060263B} failed due to the following error: 80010001 Call was rejected by callee. (Exception from HRESULT: 0x80010001 (RPC_E_CALL_REJECTED)).
at System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(RuntimeType objectType)
at System.Runtime.Remoting.Activation.ActivationServices.CreateInstance(RuntimeType serverType)
at System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(RuntimeType serverType, Object[] props, Boolean bNewObj)
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
同じ入力が与えられても一貫して発生しないため、時々言います。さらに、PowerPoint オートメーション API とやり取りするコードの他の部分でも (同じように一貫性を欠いて) 発生します。
MSDN 自体からこのソリューションを試してみましたが、これは最も推奨されるソリューションと思われます。ただし、同じ動作を引き続き観察しているため、影響はないようです。
私の質問は次のとおりです。
- MSDN ソリューションは PowerPoint オートメーションで機能しますか?
- コードに正しく適用されているかどうかを確認するにはどうすればよいですか?
- 誰かが代替ソリューションを持っていますか?
C#、.NET 4、および PowerPoint 2007 を使用しています。