Hallo VB Spezialisten,
trotz meiner Recherche im Internet finde ich immer nur eine Lösung, die jedoch einen Fehler auslöst . Das Forum ist jetzt meine letzte Hoffnung und hoffe mir kann jemand helfen.
Ausgangssituation:
Im Rahmen eines größeren Programmes habe ich eine VB-Klasse erstellt, die die Excel-Applikation öffnet und das Workbook und Worksheets deklariert und auch ansprechen kann. Davor möchte ich jedoch die Berechnungsoption von der Excel-Applikation auf manuel setzen, damit die Performance während der Bearbeitung der Excel-Datei erhöht wird.
Vorgehensweise:
Ich habe zunächst den Projekt-Verweis "Microsoft.Office.Interop.Excel" erstellt. Dann habe ich folgenden Code erstellt:
Bei der 19. Zeile "excelApp.Calculation = Excel.XlCalculation.xlCalculationManual" bekomme ich immer folgenden Fehler "excel.App.Calculation 'löste eine Ausnahme des Typs 'System.Runtime.InteropService.COMException" aus.
Wenn ich mit F11 den Einzel-Schritt durchführe, dann löst es die folgende Exception im Try....Catch ex As Exception...End Try aus "Ausnahme von HRESULT: 0x800A03EC". Der Try...Catch - Befehl ist in einer anderen übergeordneten Methode.
Kann mir jemand einen Tipp geben?
Besten Dank
Ferenz
trotz meiner Recherche im Internet finde ich immer nur eine Lösung, die jedoch einen Fehler auslöst . Das Forum ist jetzt meine letzte Hoffnung und hoffe mir kann jemand helfen.
Ausgangssituation:
Im Rahmen eines größeren Programmes habe ich eine VB-Klasse erstellt, die die Excel-Applikation öffnet und das Workbook und Worksheets deklariert und auch ansprechen kann. Davor möchte ich jedoch die Berechnungsoption von der Excel-Applikation auf manuel setzen, damit die Performance während der Bearbeitung der Excel-Datei erhöht wird.
Vorgehensweise:
Ich habe zunächst den Projekt-Verweis "Microsoft.Office.Interop.Excel" erstellt. Dann habe ich folgenden Code erstellt:
VB.NET-Quellcode
- #Region "Declarations"
- Private excelApp As New Excel.Application
- Private excelWorkbook As Excel.Workbook
- Private workbookName As String
- Private excelWorksheet As Excel.Worksheet
- Private strReferenceStyleStatus As String
- Private sngScreenUpdateState As String
- #End Region
- Sub PerformOn()
- excelApp.Interactive = False
- '--- Save ReferenceStyle status
- 'strReferenceStyleStatus = excelApp.ReferenceStyle.ToString
- '--- Save screenupdating status
- sngScreenUpdateState = CType(excelApp.ScreenUpdating, String)
- '--- Deactivate Excel standard functions
- excelApp.ScreenUpdating = False
- excelApp.Calculation = Excel.XlCalculation.xlCalculationManual
- excelApp.DisplayAlerts = False
- excelApp.AskToUpdateLinks = False
- excelApp.EnableEvents = False
- '--- Deaktivate automatism
- excelApp.AutoCorrect.AutoFillFormulasInLists = False
- '--- ReferenceStyle
- If excelApp.ReferenceStyle = Excel.XlReferenceStyle.xlR1C1 Then excelApp.ReferenceStyle = Excel.XlReferenceStyle.xlA1
- End Sub
Bei der 19. Zeile "excelApp.Calculation = Excel.XlCalculation.xlCalculationManual" bekomme ich immer folgenden Fehler "excel.App.Calculation 'löste eine Ausnahme des Typs 'System.Runtime.InteropService.COMException" aus.
Wenn ich mit F11 den Einzel-Schritt durchführe, dann löst es die folgende Exception im Try....Catch ex As Exception...End Try aus "Ausnahme von HRESULT: 0x800A03EC". Der Try...Catch - Befehl ist in einer anderen übergeordneten Methode.
Kann mir jemand einen Tipp geben?
Besten Dank
Ferenz
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Ferenz“ ()