• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Problemen met export naar Excel vanuit Access

Status
Niet open voor verdere reacties.

brutus

Gebruiker
Lid geworden
30 okt 2000
Berichten
785
Hallo,

Ik heb in Access een module waarmee ik gegevens exporteer naar Excel. De procedure wordt gestart wanneer ik op een knop in formulier klik. Het probleem is dat dit niet altijd werkt. De eerste keer dat ik de procedure uitvoer werkt het, de tweede keer niet. De derde keer wel weer en de vierde keer weer niet enz enz. Ik heb nu ongeveer een idee wat er gebeurd, maar ik weet niet hoe ik het op moet lossen.

Ik start Excel met:
Code:
Dim appExcel as Excel.Application

Set appExcel = new Excel.Application

Vervolgens doe ik mijn dingetje in Excel, dus het plaatsen van de gegevens in het werkblad. Daarna sluit ik af met:
Code:
Set appExcel = Nothing

De eerste keer gaat dit dus goed. Echter na het doorlopen van de procedure blijft EXCEL.exe draaien in de systeemprocessen. Ook wanneer ik Excel handmatig afsluit. De tweede keer dat ik de procedure start wordt er geen tweede EXCEL.exe proces gestart, maar wordt waarschijnlijk de eerste nog een keer gebruikt. Dit heeft tot gevolg dat de instructie "Range("A1").select" een foutmelding geeft. Na het beindigen van de procedure staat Excel nog wel open, maar Excel.exe verdwenen uit de lijst met processen. De volgende keer dat ik nu dus mijn procedure start werkt het wel weer naar behoren.
Is er een manier om het proces "EXCEL.Exe" af te sluiten zonder dat Excel helemaal afsluit?
Of is er een andere oplossing voor dit probleem?
 
Ik heb de oorzaak inmiddels gevonden. Ik had allemaal regels zoals:
Code:
With appExcel
        Range("A1").select
        Activecell.formulaR1C1 = "Zo maar tekst"
End With

Dat heb ik gewijzigd in:
Code:
With appExcel
        .Range("A1").select
        .Activecell.formulaR1C1 = "Zo maar tekst"
End With

En dan werkt het plosteling wel goed.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan