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:
- Ä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.
- Zugriff des NetworkService auf alle Einstellungen der "Microsoft Excel-Anwendung" in DCOMCNFG
- Ausführen dieses Befehls "appcmd set config -section:asp -enableParentPaths:true", weil es die einzige andere Sache ist, die ich finden konnte
- 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
Ist dieser Link hilfreich? made4dotnet.com/Default.aspx?tabid=141&aid=15
0 Stimmen
@shahkalpesh: Danke, ja, das habe ich mir vorhin angeschaut, aber es löst mein Problem nicht.
0 Stimmen
@astander: Ich habe eine ältere Version von filemon ausprobiert, die meinen Rechner zum Absturz gebracht hat, dann habe ich die aufgelistete Version ausprobiert, die besagt, dass ich procmon verwenden soll, was aufgrund von "Treiberkompatibilitätsproblemen" nicht funktioniert. Also benutze ich Process Explorer, aber nichts scheint ungewöhnlich zu sein. Wenn Sie mir sagen, welche Informationen hilfreich wären, werde ich sie posten. Vielen Dank!
0 Stimmen
Das Beispiel unter msdn.microsoft.com/de-us/library/ für zwei der Parameter false statt missing verwendet. Vielleicht sollten Sie das ausprobieren? Versuchen Sie auch, die FullName-Eigenschaft des Workbook-Objekts für den Pfad zum Speichern zu verwenden - msdn.microsoft.com/de-us/library/
0 Stimmen
@barrowc: Ich habe es gerade mit den False's versucht (ich werde den Beitrag aktualisieren), erhalte aber immer noch denselben Fehler. Die FullName-Eigenschaft ist ReadOnly, also kann ich damit auch nichts anfangen. Aber trotzdem vielen Dank!
0 Stimmen
Siehe diese ausgezeichnete Abhilfe .