herkennen van spatie

Status
Niet open voor verdere reacties.

jordi1986

Gebruiker
Lid geworden
25 apr 2007
Berichten
10
Beste bezoekers,

Ik ben bezig met een programma die waarden omzet uit een tekstbestand en vervolgens uit meerdere bestanden de gegevens in een grafiek zet. Alles werkt prima, tot een bestand wordt aangesproken waar een spatie in zit. Weet iemand hoe ik in dit programma een code kan schrijven die de spatie uit de bestandsnaam herkend en een MsgBox geeft dat er een spatie in voorkomt?

met vriendelijke groet,

Jordi


Code:
 NewFN = Application.GetOpenFilename("Text files (*.txt), *.txt", , "Choose a textfile", , False)
       
        If NewFN = False Then
                      ' They pressed Cancel
        MsgBox "Stopping because you did not select a file"
        Exit Sub
        Else
        Workbooks.OpenText Filename:=NewFN, Origin:= _
            xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote _
            , ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, Comma:=False _
            , Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
            Array(3, 1), Array(4, 1)), TrailingMinusNumbers:=True
            
        CommandButton2.Enabled = True
        
        'sheet name
        
        werkboeknaam = ActiveWorkbook.Name
        
        ActiveWorkbook.ActiveSheet.Name = werkboeknaam
 
Laatst bewerkt:
Bekijk eens de InStr functie in VBA. Het eerste en vierde argument mogendaarvan gewoonlijk weggelaten worden.
 
Wigi,

Bedankt alvast voor je reactie. Heb nu ook gezien dat je de codes idd in een tag kan plaatsen. Bij deze gedaan!

Alleen met de functie instr kom ik nog niet zo ver. Eigenlijk wil ik via het open venster een bestand selecteren en wanneer op openen gedrukt wordt, dat bestanden zonder spatie (ik_fiets.txt) wel worden geopend en (ik fiets.txt) een msgbox geeft en niet opent.

Heb je toevallig enig idee?

Alvast bedankt,

Jordi
 
Zo kan je dat doen met de InStr functie:

Code:
Sub w()
    newfn = Application.GetOpenFilename("Text files (*.txt), *.txt", , "Choose a textfile", , False)

    If newfn = False Or InStr(newfn, " ") > 0 Then
        ' They pressed Cancel
        MsgBox "Stop because you did not select a file or file has a space in it"
        Exit Sub
    
    Else
        Workbooks.OpenText Filename:=newfn, Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, _
                TextQualifier:=xlDoubleQuote, Tab:=True, Semicolon:=True, FieldInfo:=Array(Array(1, 1), _
                Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:=True

        CommandButton2.Enabled = True

        'sheet name

        werkboeknaam = ActiveWorkbook.Name

        ActiveWorkbook.ActiveSheet.Name = werkboeknaam
        
    End If

End Sub

Wigi
 
Hee Wigi,

Ik heb door je hulp een bijna perfect werkend programma momenteel. Toch heb ik op het voorgaande nog een vraag. Bij het opzoeken van een file, worden alleen de *.txt files weergegeven. Prima! Alleen wil ik hier graag een uitbreiding op maken, namelijk dat alle tekstbestanden kleiner als 0 à 1 kb uit de lijst gefilterd worden.

Ik heb dit nog niet op het forum terug kunnen vinden. Ook google is niet te ruim met informatie. Weten jullie hoe dit het beste aangepakt kan worden?

Groeten Jordi
 
Ik zou twee dingen doen:
1-Nieuwe vraag stellen
2-FSO object goochelen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan