VBA directory uit string verwijderen

Status
Niet open voor verdere reacties.

Diniz

Gebruiker
Lid geworden
1 jun 2009
Berichten
62
Ik heb een string met het pad en de bestandsnaam, bijvoorbeeld:

Code:
str_Bestand = "c:\Programma\Factuur\Versie3.xlsm"

Nu wil ik dat str_Bestand alleen de bestandsnaam gaat bevatten:

Code:
str_Bestand = "Versie3.xlsm"

Hoe verwijder ik dus "c:\Programma\Factuur\" uit str_Bestand?

Ik kan geen simpel voorbeeldscriptje vinden wat werkt voor mij.
 
Daar zijn meerdere manieren voor. Het gebruik van het File System Object (FSO) is er 1 van:

Code:
Dim fso as new FileSystemObject
Dim str_Bestand As String
str_Bestand = fso.GetFileName("c:\Programma\Factuur\Versie3.xlsm")

Hiervoor moet je in de VBA Editor wel in de verwijzingen Microsoft Scripting Runtime aanvinken.
 
Laatst bewerkt:
Ik krijg een foutmelding:

Compileerfout:

Een door gebruiker gedefineerd gegevenstype is niet gedefineerd. Blijkbaar moet ik FSO nog ergens toevoegen. Hoe doe ik dat?
 
Laatst bewerkt door een moderator:
Ik heb er net een regel voor toegevoegd in m'n vorige post.
Daar dacht ik ineens aan.
 
Maar de gemakkelijkste zit in VBA zelf:

Code:
c00=Dir("c:\Programma\Factuur\Versie3.xlsm")

in jouw geval

Code:
c00=dir(str_bestand)
 
Maar dat werkt alleen als het bestand ook daadwerkelijk bestaat.
Dan zou ik het zo doen:
Code:
Dim str_bestand As String
Dim FullPath() As String

str_bestand = "c:\Programma\Factuur\Versie3.xlsm"
FullPath = Split(str_bestand, "\")
str_bestand = FullPath(UBound(FullPath))
 
Laatst bewerkt:
Maar dat werkt alleen als het bestand ook daadwerkelijk bestaat.
Dan zou ik het zo doen:
Code:
Dim str_bestand As String
Dim FullPath() As String

str_bestand = "c:\Programma\Factuur\Versie3.xlsm"
FullPath = Split(str_bestand, "\")
str_bestand = FullPath(UBound(FullPath))

Werkt perfect, mijn dank is groot!
 
Ok dan :thumb:
Het gebruik van die Split functie naar een array is erg handig en dus ook hier weer een uitkomst :)
 
Code:
msgbox split("C:\Programa\factuur\versie3.xlsm","\")(ubound(split("C:\Programa\factuur\versie3.xlsm","\")))
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan