[VB] Excel data importeren

Pagina: 1
Acties:

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 24-05 09:56

Kaastosti

Vrolijkheid alom!

Topicstarter
Over het importeren van Excel data in VB bestaan al een boel topics, waar de topicstarter er uiteindelijk uit komt. Bij deze een nieuwe uitdaging, aangezien mijn VB skills niet echt briljant zijn.

Ik heb VB6 geinstalleerd, Excel sheet in de aanslag en wil het getal uit cel B2 uitlezen. Heel simpel, niet meer dan dat.

Hiertoe heb ik een textveld en een knop in VB. Op het moment dat ik op die knop druk wordt onderandere het volgende uitgevoerd:
code:
1
2
3
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("c:\sheet.xls")
Set objSheet = objWorkbook.Sheets.Add("Blad1")

Ik krijg echter consequent een BSOD voor m'n neus die na 3x op enter rammen weg blijft en de VB foutmelding verschijnt ('Automation error'). Als ik dan op 'Debug' klik krijg ik de tweede regel uit het bovenstaande stukje voor m'n kiezen. Daar is iets wat als niet tof ervaren wordt door het systeem.

Ik heb een aantal topics gelezen over manier van openen en deze leek me wel redelijk. Ook een aantal sites gelezen met stukken VB code, maar uiteindelijk is de complexiteit van dergelijke stukken vaak veel te hoog voor wat ik er mee wil. Als die verbinding maar werkt, puzzel ik verder wel uit wat de mogelijkheden zijn. Helaas is die verbinding nu net hetgene waar ik op vast loop. Suggesties?

---
Code iets gewijzigd (klein beetje maar):
code:
1
2
3
Set xl = New Excel.Application
Set ow = xl.Workbooks.Open("c:\sheet.xls")
Set os = objWorkbook.Sheets.Add("Blad1")

Foutmelding: Kan geen toegang krijgen tot sheet.xls

[ Voor 11% gewijzigd door Kaastosti op 10-12-2003 14:44 ]

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • Lister
  • Registratie: September 2001
  • Laatst online: 15-02-2022
Het staat nergens in je post dus ik vraag het toch maar:
Staat je Excel bestand wel op "c:\sheet.xls" ?

  • Bud_s
  • Registratie: Maart 2002
  • Laatst online: 25-05 18:29
Kaastosti schreef op 10 december 2003 @ 14:29:
[...]
en wil het getal uit cel B2 uitlezen. Heel simpel, niet meer dan dat.

code:
1
2
[...]
Set objSheet = objWorkbook.Sheets.Add("Blad1")
Voeg eens een error routine in, dat geeft je meer info.
Gebruik de debug mode evt.

Sheets.Add

Volgens mij probeert VBA hier een sheet met de naam Blad1 toe te voegen, terwijl je waarschijnlijk het sheet wil selecteren

Als je specifiek cel B2 wil uit lezen kan je misschien het volgende doen :
code:
1
2
3
4
Kolom = 2                               ' Kolom : A=1 , B=2 , enz
Rij = 2                                 ' Rij 
SheetName = "Blad1"
TeLezenWaarde$ = Sheets(SheetName).Cells(Rij, Kolom)


Na deze actie bevat de variabele TeLezenWaarde$ de inhoud van cell B2