14 Stimmen

Windows 7 .net Excel .SaveAs() Error Exception von HRESULT: 0x800A03EC

Hintergrund:
Ich habe meine alte Festplatte auf der Arbeit getoastet und bekomme eine neue. Damit muss ich meinen Rechner neu aufsetzen. Mein Manager hat Windows 7 auf seinem Leih-Laptop installiert, den ich benutze, während mein Rechner außer Betrieb ist. Aber ich bin auf ein Problem gestoßen.

Wir haben eine ganze Reihe von Anwendungen, die die Referenz Microsoft.Office.Interop.Excel verwenden. Ich habe bisher ein paar Fehler überstanden, aber der eine, bei dem ich seit ein paar Tagen feststecke (mein Rechner hat nach dem ersten Rebuild einen Festplattenausfall erlitten), konnte nicht behoben werden. Ich habe nach diesem Fehler gesucht, kann aber niemanden finden, der dieses Problem unter Windows 7 hat, obwohl ich andere Lösungen für Windows Server 2008 erfolglos ausprobiert habe.

Wenn ich dieses Problem nicht beheben kann, werde ich Windows 7 nicht verwenden können, und das möchte ich wissen, bevor ich einen Rechner neu aufbaue, um ihn dann (zum dritten Mal) löschen und neu starten zu müssen.

Problem:
Betriebssystem: Windows 7 Enterprise
Fehlermeldung: Ausnahme von HRESULT: 0x800A03EC
Code:

Private m_xls As Microsoft.Office.Interop.Excel.Application
Private m_wkbk As Microsoft.Office.Interop.Excel.Workbook
Private m_wksht As Microsoft.Office.Interop.Excel.Worksheet
m_xls = New Application
m_xls.Visible = False : m_xls.DisplayAlerts = False
m_wkbk = m_xls.Workbooks.Open(Me.FilePath)
m_wksht = CType(m_wkbk.ActiveSheet, Worksheet)
'...Write some data...'
m_wkbk.SaveAs(Me.FilePath, XlFileFormat.xlWorkbookNormal, Missing.Value, Missing.Value, False, False, XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value)

Der Fehler tritt in der letzten Zeile auf.

Was ich bis jetzt ausprobiert habe:

  1. Ändern des AppPools zur Verwendung des NetworkService-Konto (es war ApplicationPoolIdentity', das ich nicht in der Benutzerliste in den Sicherheitseinstellungen finden konnte). Dann geben Sie dem NetworkService-Konto vollen Zugriff auf den entsprechenden Ordner.
  2. Zugriff des NetworkService auf alle Einstellungen der "Microsoft Excel-Anwendung" in DCOMCNFG
  3. Ausführen dieses Befehls "appcmd set config -section:asp -enableParentPaths:true", weil es die einzige andere Sache ist, die ich finden konnte
  4. Mit der Funktion .SaveCopyAs(), die zwar funktionierte, aber verschiedene Fehler verursachte

Ich wollte nur sehen, ob jemand anderes mit diesem Problem konfrontiert wurde oder nicht, da Windows 7 neu ist. Ich kann mit Server 2008 arbeiten, aber ich würde gerne einige solide Gründe dafür haben, bevor ich meinem Manager sage, dass es nicht funktionieren wird.

Ich danke Ihnen, Jeff

0 Stimmen

Ich empfehle die Verwendung von download.cnet.com/Filemon/3000-2094_4-10020837.html . FileMon, kann Ihnen sagen, was hier los ist. SaveAs scheint ein Problem mit der Sperre oder der Authentifizierung zu sein. Geben Sie an, wenn Sie mehr Informationen benötigen...

0 Stimmen

0 Stimmen

@shahkalpesh: Danke, ja, das habe ich mir vorhin angeschaut, aber es löst mein Problem nicht.

0voto

Versuchen Sie, ISS einzuschalten. Die Einzelheiten sind hier für Windows 7 aufgeführt

http://helpdeskgeek.com/Windows-7/turn-on-microsoft-internet-information-services-in-Windows-7/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X