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

txt bestand inladen d.m.v. macro

Status
Niet open voor verdere reacties.

NogGeenGuru

Gebruiker
Lid geworden
5 aug 2015
Berichten
130
beste excel guru's,

Ik wil graag bepaalde bestandjes inladen d.m.v. een macro.
ik wil graag dat als ik op de knop druk dat ik een bestand kan selecteren en dat deze geopend wordt.

Ik ben al een beetje opweg, dit heb ik tot nu toe (waarvan ik vrij zeker ben dat het goed is)

Sub Inladen()

Dim vPath As Variant

vPath = Application.GetOpenFilename("TXT (txt) (*.txt),*.txt" _
, 1, "kies het tekst bestand", , False)

If vPath = False Then Exit Sub



vervolgens wil ik de wizard tekstimport gebruiken om het tekst bestand op de juiste manier in de cellen te laden.
Ik heb hiervoor een aparte macro opgenomen en deze onder het bovenstaande geplakt. ik denk dat het daar fout gaat....:(

dit heb ik eronder geplakt:

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;Z:\Computers\test.txt" _
, Destination:=Range("$B$2"))
.Name = "test"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = True
.TextFileOtherDelimiter = ""
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With


wat er fout gaat is dat, welk bestand ik ook kies, test.txt geopend wordt.
Ik kan dit stuk niet weghalen want dan krijg ik een fout melding.

weet iemand hoe ik dit oplos?
 
Vervang
Code:
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;[COLOR="#FF0000"]Z:\Computers\test.txt[/COLOR]" _
, Destination:=Range("$B$2"))
End With
door
Code:
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" [COLOR="#FF0000"]& vPath[/COLOR] _
, Destination:=Range("$B$2"))
 
wow bedankt man!
Ik heb heel google afgestruind naar de oplossing maar zonder resultaat en de oplossing blijkt zo simpel te zijn.
je moet het maar net weten denk ik :P

bedankt voor de hulp!
 
Het gaat om de combinatie van " (tekst) en van & (koppelen teksten), dit is een basisprincipe van VBA.
 
Gebruik svp codetags. Zie ook de handtekening van alphamax

Bij een macro-opname krijg je alle standaard waarden. Het meeste kan je meestal weer weghalen. Dit is eenvoudige te testen door voor een regel een ' te zetten. Dan de code even opnieuw uitvoeren. Gaat het fout dan de ' weer weghalen. Gaat het goed dan kan de regel weg.:)

Zonder het bestandje te kennen kom ik op zoiets.
Code:
Sub Inladen()
Dim c00
c00 = Application.GetOpenFilename("TXT (txt) (*.txt),*.txt", 1, "kies het tekst bestand", , False)
If c00 = False Then Exit Sub

With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & c00, Destination:=Range("$B$2"))
    .Name = "test"
    .TextFileConsecutiveDelimiter = True
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = True
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = True
    .Refresh BackgroundQuery:=False
End With
End Sub

Nb. Wel bijzonder dat je alle standaard scheidingstekens hebt aangezet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan