Toon posts:

[vb] sluit excel niet af

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo Tweakers,
Ik heb het volgende probleem
Vanuit een vb6 applicatie laat ik een excel sheet vullen met data uit een database. Dit werkt uistekend en Excel lijkt ook te sluiten maar hij blijft bij processen staan. Ik heb al aardig gegoogled en op got gekeken maar nergens een oplossing kunnen vinden

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Private Sub maak_excel_sheet()

'globale declaraties
Dim moExcel As Excel.Application
Dim moReportFile As Excel.Workbook
Dim moSheet As Excel.Worksheet

Set moExcel = New Excel.Application
'Set moExcel = CreateObject("Excel.Application")
moExcel.Visible = False
moExcel.DisplayAlerts = False
moExcel.ScreenUpdating = False

'template openen: empty.xls
Set moReportFile = moExcel.Workbooks.Open(path_kopiedocumenten_templates & "leveranciers.xls")
Set moSheet = moReportFile.Worksheets("blad1")

txt = rsleveranciers!lev_naam
moReportFile.Sheets("blad1").Cells.Find(What:="lev_naam", After:=ActiveCell).Value = (Trim(txt))


moReportFile.SaveAs ("c:\bestand.xls")

moReportFile.Saved = True
moReportFile.Close

moExcel.Quit
Set moExcel = Nothing

Unload Me
End Sub


Het probleem zit in de volgende regel code want als ik deze regel weglaat werkt het wel. Van deze regel zijn er ongeveer 20

code:
1
moReportFile.Sheets("blad1").Cells.Find(What:="lev_naam", After:=ActiveCell).Value = (Trim(txt))


Wie o wie weet de oplossing ?

[ Voor 70% gewijzigd door Verwijderd op 20-01-2004 23:00 . Reden: op versturen gedrukt ipv bekijken ]


  • robjanssen
  • Registratie: September 2001
  • Laatst online: 17-11-2025

robjanssen

Software Developer

Je destroyed ook niet alle objecten

Visual Basic:
1
2
Set moSheet  = Nothing
Set moReportFile = Nothing


En je kunt ipv
Visual Basic:
1
moReportFile.Sheets("blad1").Cells.Find(What:="lev_naam", After:=ActiveCell).Value = (Trim(txt))

toch ook
Visual Basic:
1
moSheet.Cells.Find(What:="lev_naam", After:=ActiveCell).Value = (Trim(txt))

gebruiken?

Verwijderd

Topicstarter
Dit was de oplossing
code:
1
moSheet.Cells.Find("lev_naam").Value = (Trim(txt))

Hij moest helemaal gestript worden. Ik had eerst
code:
1
2
Set moSheet  = Nothing
Set moReportFile = Nothing

toegevoegd maar dat hielp niet.
bedankt robjanssen

Verwijderd

Topicstarter
Ik gebruik nu onderstaand stukje code om in een excel sheet een waarde te zoeken en als hij gevonden is te vervangen voor gegevens uit de database.
Dit werkt uitstekend maar als er een waarde niet word gevonden dan krijg ik een foutmelding.

Weet iemand hoe je kan zorgen dat je een nette melding krijgt dat een waarde niet is gevonden ?
Of weet iemand een knappe site waar dit soort dingen worden uitgelegd ?

Ik kan namelijk heel weinig vinden over het excel component in visualbasic.
Niet op got niet op Google en niet op Msdn

code:
1
moSheet.Cells.Find("lev_naam").Value = (Trim(txt))

Verwijderd

Topicstarter
hij kan dicht

  • jvaneijk
  • Registratie: Mei 2003
  • Laatst online: 11-03 09:53

jvaneijk

Dr.Oak

Foutenafhandeling met TRY and Catch?

iRacing Profiel

Pagina: 1