2012-10-10 19 views
11

Aus dem folgenden AufrufAusnahme von HRESULT: 0x800401e3 (MK_E_UNAVAILABLE) Problemumgehungen

Marshal.GetActiveObject("Excel.Application") 

ich eine

nicht verfügbar Betrieb (Ausnahme von HRESULT: 0x800401e3 (MK_E_UNAVAILABLE))

Ich glaube, dass dieser Fehler verursacht wird, wenn die Benutzerberechtigungen zwischen meiner Anwendung und Excel nicht übereinstimmen.

Ich möchte wissen, ob es eine Problemumgehung gibt, wie ich auf die geöffnete Excel-Anwendung zugreifen kann, unabhängig davon, wie Excel geöffnet ist, kann ich das Programm öffnen, auf das ich als Administrator von Excel zugreifen möchte.

Auch ich würde gerne wissen, wie ich sagen kann, mit welchen Berechtigungen Prozesse geöffnet wurden? Ich habe Process unter Verwendung von in den Userprofilen suchen (die das gleiche in beiden Anwendungen waren) und Besitzer (die auch der gleiche BUILTIN \ Administratoren war)

Hintergrund Ich habe ein Programm, das verschiedene Tests läuft durch den Aufruf NUnit-Konsole-x86. Die Anwendung, die getestet wird, öffnet ein Excel-Formular, das ist die Form, aus der ich die Daten lesen möchte. Und wenn ich mein Programm als Administrator ausführe oder nicht bekomme ich diese Fehler, habe ich auch versucht, in Process.StartInfo.Verb = "runas"; zu meinem Programm, das NUnit startet, aber ich bekomme immer noch diese Fehler

Es scheint, die Installation von Visual Studio behebt das Problem, obwohl ich Visual Studio nicht auf jedem Computer installieren müssen. Kann mir jemand das erklären?

+1

Ich ging gerade durch die Erlaubnis Alptraum mit Excel und sobald ich Excel kompatible Modus als Administrator sowie die aufrufende Anwendung als Administrator ausführen, alles funktionierte. – MisterIsaak

+0

Ich hatte dieses Problem so oft, ich fand, dass, wenn ich den Fehler und zwischen Skype und Excel hin und her wechseln, funktioniert es ... –

Antwort

2

Wenn Microsoft Support Information10 angezeigt wird, scheint 0x800401e3 generiert zu werden, wenn Excel (oder Office im Allgemeinen) nicht aktiv ist oder in der Tabelle laufender Objekte ausgeführt wird. Sie müssen eine Kopie von Excel geöffnet haben, bevor Sie dies aufrufen. Entweder hast du noch keinen Excel-Code geöffnet oder du hast ihn noch nicht vollständig registriert. Könnte das das Problem sein?

+0

Nein. Es lief. Aber irgendwie habe ich Visual Studio als Nicht-Administrator ausgeführt. Sobald ich es als Administrator wiedergehandelt hatte, fing alles an zu arbeiten. – BrainSlugs83

+0

Ahhhh. Yup, das würde es auch tun. Ich bin froh, dass du es zum Laufen gebracht hast. –

Verwandte Themen