Print side | Luk vindue

Import af tekst fra txt filer

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=3060
Udskrevet den: 07.Maj.2024 kl. 16:08


Emne: Import af tekst fra txt filer
Besked fra: Kasper
Emne: Import af tekst fra txt filer
Posteringsdato: 09.Jun.2017 kl. 00:59
Hej

Jeg har en række fil navne stående i kolonne a hvor jeg gerne vil have importeret en del af dens text fra, men min vba kode bliver ved med at importere den samme tekst selvom den åbner forskellige filer med forskellige tekst i og det kan jeg ikke helt gennemskue hvorfor:

Sub find()
Dim myFile As String, text As String, textline As String, A As Long, file1 As Object, test As Object

A = 2
Do ' loopet starter
Dim pospri As Integer, posvarenr As Integer, posvltnr As Integer
Range(Cells(A, 1).Address).Select 'vælger cellen med filnavnet i
Set file1 = Selection   'sætter file1 = filnavnet
myFile = "Min folder\" & file1 'myfile sættes = filnavnet + stien

Open myFile For Input As #1 ' txt filen åbnes
Do Until EOF(1) 'Den "læser hele filen"
    Line Input #1, textline 'Den gemmer det hele som en linje
    text = text & textline
pospri = InStr(text, "Test 1") ' Den tekst som den skal finde
posvarenr = InStr(text, "Test 2") ' Den tekst som den skal finde
posvltnr = InStr(text, "Test 3")  ' Den tekst som den skal finde
Range(Cells(A, 2).Address).Value = Mid(text, pospri + 10, 4) ' teksten der placeres i kolonne b
Range(Cells(A, 3).Address).Value = Mid(text, posvarenr + 10, 8) ' teksten der placeres i kolonne c
Range(Cells(A, 4).Address).Value = Mid(text, posvltnr + 8, 10) ' teksten der placeres i kolonne D
Range(Cells(A, 5).Address) = "=CONCATENATE(RC[-2],RC[-1])"  ' teksten der placeres i kolonne e
Loop

Close #1 ' lukker filen

A = A + 1
Loop Until A = 5
End Sub


Håber at nogen kan hjælpe mig



Svar:
Besked fra: Kasper
Posteringsdato: 10.Jun.2017 kl. 09:59
Har fået løst det selv på en mindre elegant måde, men det virker



Print side | Luk vindue