• 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.

Opgelost Txt bestand inlezen in Excel

Dit topic is als opgelost gemarkeerd

PeterBijns

Gebruiker
Lid geworden
25 nov 2008
Berichten
160
Ik heb een txt bestand met daarin een aantal gegevens welke uit een kaart en route programma van Garmin komen, dat programma maakt een txt bestand met een xml opmaak daarin.
Een aantal gegevens daaruit wil ik inlezen in Excel, deels lukt mij dat maar dan is mijn kennis van de materie mij te machtig. Graag daar hulp in.

In het excel bestand heb ik nu 3 bladen Blad1 is zoals ik het hebben wil in deze gegevens staan ook in het txt bestand welke ik heb bijgevoegd. Blad2 is het zelfde als blad1 daar kun je dus gemakkelijk de macro in testen zondewr de voorbeeld gegevens kwijt te raken. Blad3 is zoals de macro de gegevens uit het txt bestand haalt.

Wat ik vooral ook makkelijk vind is dat als ik op een cel in kolom A of kolom B sta ik die plek via Google Maps direct bekijken kan, reuze handig vind ik dat.

In het excel bestand zijn nu 3 regels ingevuld maar dat kunnen er veel meer zijn, tegen de 100 kan dat oplopen, dus hopelijk kan dat ook verwezenlijkt worden dat al die gegevens uit het txt bestand gehaald worden.

Nu heet het txt bestand "Drachten met url.txt" maar het kan ook dus een totaal andere naam krijgen, graag de macro dus zo maken dat ook andere namen geopend (ingelezen) kunnen worden.

Mijn kennis is dus veel te weinig en ik zou het toch graag voor elkaar kunnen krijgen vandaar dat ik daarin hulp vraag.

Ik gebruik dit bestand om Waypoints aan te maken in het Gramin programma, die waypoints kan ik nadat ze dus ingelezen zijn in het excel bestand weer importeren in een ander programma.

Ik hoop dat er iemand is welke mij kan helpen.

Alvast reuze bedankt voor elke oplosing. Groet, Peter
 

Bijlagen

Wie heeft die macro's gemaakt? Jij ?
Als jij het bent dan denk ik dat uw kennis niet zo weinig is. Maar ja je kunt ook niet alles weten he
in module4 bij sub ImportGPXWaypoints_2 staat volgend mij de oplossing.
Of zie ik het verkeerd
Code:
   ' Laat gebruiker een GPX-bestand kiezen
    gpxFile = Application.GetOpenFilename("TXT Files (*.txt), *.txt", , "Selecteer een TXT-bestand")
    If TXTFile = "False" Then Exit Sub ' Stop als er geen bestand gekozen is
 
Hallo glda19,
Bedankt voor je antwoord.

De macro komt uit een bestand van iemand anders en doet maar gedeeltelijk wat ik wens, hij importeerd maar een beperkt aantal gegevens uit het txt bestand. Ik wil dus meer gegevens importeren.
Ik wil graag alle gegevens/items uit het textbestand importeren .
Op Blad1 staan al die gegevens welke ik wens ingevuld te krijgen, op Blad3 zijn de gegevens/items welke Module 4 importeerd. Ik wil graag ook deze gegeven importeren,
Street1Street2PostalcodeCityStateCountryTelephoneUrl
maar dat lukt mij op geen enkele manier mijn kennis van VBA is daarvoor veel te beperkt. Street 2 wordt eigenlijk niet gebruikt maar de kollom moet er wel in blijven maar mag leeg blijven, het wordt wel ergens anders voor gebruikt.
Als je mij verder kunt helpen heel graag of mogelijk iemand anders die zou mij zeer blij maken.

Ik gebruik diet bestand om wayponts aan te maken voor een fietsclubje van oudere mensen waaronder ik er een van ben.
Alvast weer bedankt voor een mogelijk oplossing. Groet, Peter
 
AHulpje, heel erg bedankt voor de olpossing, dit is wat ik graag wilde. Ook bedankt de anderen welke ook een oplossing deden welke voor mij iets te ingewikkeld was.

Groet en nogmaals dank, Peter
 
Zo kan het ook:

Code:
Sub M_snb()
   c00 = CreateObject("scripting.filesystemobject").opentextfile("J:\download\Drachten met url.txt").readall
   sn = Split(c00, "<wpt")
   ReDim sp(UBound(sn), 20)
   
   For j = 1 To UBound(sn)
     st = Split(sn(j), Chr(34))
     sp(j - 1, 0) = st(1)
     sp(j - 1, 1) = st(3)
     st = Filter(Filter(Filter(Filter(Split(Split(Split(sn(j), "<name")(1), "</gpxx:W")(0), vbCrLf), "</"), "<cmt", 0), "Disp", 0), ":A", 0)
     
     For jj = 0 To UBound(st)
         sp(j - 1, jj + 2) = Split(Split(st(jj), ">")(1), "<")(0)
     Next
   Next
   
   Cells(1).Resize(UBound(sp), UBound(sp, 2)) = sp
End Sub
 
Dank je wel snb voor je oplossing.
De code van snb dat is de kortste code en werkt ook perfect maar daar kun je alleen maar een bestand met de naam "Drachten met url.txt" openen.
Ik heb meerdere txt bestanden met andere namen welke ik ook zou willen openen.

Is dat ook mogelijk, zo ja hoe?

Groet en alvast bij voorbaat dank, Peter
 
dan bouw je er een loopje rond en werk je dat telkens met die ene txt af. wacht een ogenblik ...
 

Bijlagen

Als ik de laatste macro draai dan krijg ik een foutmelding. nl deze.

c00 = CreateObject("scripting.filesystemobject").opentextfile("D:\download\blad1.txt" & arr(i, 1)).readall

Ook als ik blad1.txt weglaat is die regel, geen idee waarom.
Groet, Peter
 
Dat is geen foutmelding, dat is de regel waar zich een fout voordoet.
De foutmelding heb je dan in een messagebox gekregen.
Laat die hier weten.
 
Hoi edmoor, hoe kan ik de macro zonder die fout verder laten gaan zodat de macro doet wat het moet doen?
Groet, peter
 
Daar is pas wat over te zeggen als je de betreffende foutmelding hier laat weten.
 
Nou de vba editor opend zich en maakt de volgende regel geel.
c00 = CreateObject("scripting.filesystemobject").opentextfile("D:\download\blad1.txt" & arr(i, 1)).readall.
 
Dus zonder enig verder bericht?
Dan is het vast syntactisch niet in orde.
Klik in het VBA menu op de Stop knop, het vierkantje, en vervolgens op Foutopsporing > VBA project compileren.
Wat wordt er dan gemeld?
 
Dat lijkt me duidelijk.
De opdracht OpenTextfile kan het opgegeven bestand niet vinden.
 
het staat wel in de opgegeven map en heet wel zo dus waarom kan het niet gevonmden worden?
 
Dus er is een bestand "D:\download\blad1.txt" met nog iets achter het .txt gedeelte?
 
Er is in Download\ een bestand met de naar Blad1.txt
achter het txt gedeelte staat er niets
 
Terug
Bovenaan Onderaan