Theoretische vraag

Status
Niet open voor verdere reacties.

so10070

Gebruiker
Lid geworden
4 feb 2014
Berichten
419
Ik heb de volgende code

Code:
Dim oWerkboek1 As Workbook

some code ...

Set oWerkboek1 = oExcel.Workbooks.Open(txtMapnaamFileExcelsNaarDatamart)

some code ...

oWerkboek1.Close
Set oWerkboek1 = Nothing

De lijn (oWerkboek1.Close) geeft foutmelding "Overloop". Haal ik die eruit, heb ik geen fout meer. Hoeft deze code niet?
 
In de getoonde code open je geen Excel object.
Staat dat in je originele code wel?

Geef aan die oWerkboek1.Close eens de parameter True of False mee, om het document wel of niet op te slaan.
 
Laatst bewerkt:
Ja, ik open het Excel-object
Code:
Dim oExcel As Excel.Application

Maar heb nu geprobeerd om met het argument "SaveChanges" te werken en krijg deze fout:

Automatiseringsfout
De verbindingen van het aangeroepen object met de clients zijn verbroken.
 
Is het Excel object er nog wel op het moment dat je oWerkboek1.Close doet?
 
Juist! Ik geeft het commando :eek:
Code:
oExcel.Visible = True
en sluit de geopende Excelbladen. Uiteraard is deze applicatie dan gesloten.

Thanks!
 
Ja, ik open het Excel-object
Code:
Dim oExcel As Excel.Application

Dat denk ik niet, je declareert enkel het object maar je opent géén applicatie hiermee.

Ik geeft het commando
Code:
oExcel.Visible = True
en sluit de geopende Excelbladen.

Zelfde denkfout : je maakt de applicatie zichtbaar (maar dat sluit ze niet)
en dan sluit je alle sheets/workbooks misschien wel ... gevolg is dat er nog een lege Excel applicatie zou achterblijven.

je zult er dus iets structureler moeten mee omspringen.
 
Neen, juist. Ik open het object met
Code:
Set oExcel = CreateObject("Excel.Application")

Die lege Excelapplicatie sluit ik met
Code:
Set oExcel = Nothing
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan