Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
436to440
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
436to440
436to440
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeichen aus String löschen

Zeichen aus String löschen
09.06.2004 10:05:18
Pascal
Hallo !
Wie kann ich Zeichen aus einem String löschen ?
Ich habe z.B. den String "C:\MyHome\kitchen\essen.txt" und möchte alles bis auf "essen.txt" löschen ?
Gibt es vielleicht eine Funktion dafür ?
Vielen Dank für die Bemühung !
Gruß,
Pascal

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeichen aus String löschen
Ulf
Mit anderen Worten, willst du einen Dateinamen aus einem Pfad extrahieren?
Ulf
AW: Zeichen aus String löschen
09.06.2004 10:12:58
Pascal
So kann man dies auch beschreiben ;-) Ja.
Gruß,
Pascal
AW: Zeichen aus String löschen
Ulf
Schön einfache sache mit FSO, Code in ein Standardmodul:

Private Function Name_ext(strDatei As String) As String
Dim objFso As Object
Set objFso = CreateObject("Scripting.FileSystemObject")
Name_ext = objFso.GetFileName(strDatei)
End Function

und zum Probieren:
Sub teste()
MsgBox Name_ext("C:\MyHome\kitchen\essen.txt")
End Sub
Ulf
AW: Zeichen aus String löschen
09.06.2004 10:45:19
Pascal
.. huch .. wo is der letzte Eintrag hin ?!
Ulf, zu Deinem Bsp. Erstmal danke dafür.
Nur, ich glaube, wir haben aneinander vorbei geredet. Die Zeichen am Anfang des Strings sollen einfach nur gelöscht werden, sodaß dann nur noch "essen.txt" übrig bleibt. Denn damit möchte ich anschließend weiter arbeiten.
Soweit ich dies verstanden hab, liefert die Funktion Name_ext den Dateinamen zurück. Wenn ich nun z.B.
Dim file_str as string
file_str = Name_ext("C:\....")
schreibe, erhalte ich eine Fehlermeldung.
Mach ich was falsch oder
Gibs da vielleicht noch ne Idee ?
Gruß,
Pascal
Anzeige
AW: Zeichen aus String löschen
Ulf
In deiner Frage gings darum, aus einem Pfad einen dateinamen zu isoliere, genau das macht die Funktion. Was soll das sein:("C:\....")
Ulf
AW: Zeichen aus String löschen
09.06.2004 11:04:15
Pascal
Mit ("C:\...) meinte ich den eingangs erwähnten Pfad (C:\MyHome\kitchen\essen.txt). Worauf ich eigentlich hinaus wollte, daß die Übergabe von der Funktion für die Variable file_str nicht funzt. Vielleicht liegt dies an Typverschiedenheit - wie auch immer, bin da kein Experte.
Versuchen wir es anders:
Wie kann ich denn explizit Zeichen aus einem String löschen ?
Gruß,
Pascal
AW: Zeichen aus String löschen
Ulf
Das funktioniert, da hast sicher einen Fehler drin. Lad dein Beispiel mal hoch.
Ulf
Anzeige
AW: Zeichen aus String löschen
Ulf
der erste Fehler ist schonmal, dass File as Variant deklariert ist und
du File aber als String an die Funktion übergibst.
Option Explicit
Dim File As Variant

Private Function Name_ext(strDatei As Variant) As String
Dim objFso As Object
Set objFso = CreateObject("Scripting.FileSystemObject")
Name_ext = objFso.GetFileName(strDatei)
End Function

Sub GetFile()
Dim file_str As String
ChDir "C:\MyHome\"
File = Application.GetOpenFilename _
("Excel Arbeitsmappen (*.xls), *.xls", Title:="Bitte eine Datei auswählen.")
If File = False Then Exit Sub
Workbooks.Open File
file_str = Name_ext(File)
Windows(file_str).Activate
End Sub
Ulf
Anzeige
Vielen Dank Ulf !
09.06.2004 12:39:27
Pascal
Yo, habe das dann doch irgendwie hingefummelt bekommen ;-)
Es mußte ne schnelle Lösung her, von daher isses dann doch eher "quick & dirty", aber es funzt erstma!
Gruß,
Pascal
AW: Zeichen aus String löschen
Kl@us-M.
Hi Pascal,
Ohne VBA, dafür aber (leider) mit ´ner Hilfsspalte:
 AB
1C:\Eigene Dateien\Test\Test\test.xlstest.xls
2C:\temptemp
3D:\MP3\Abba-SOS.mp3Abba-SOS.mp3
4E:\My Music\Video\Das Wunder von Bern.mpegDas Wunder von Bern.mpeg
Formeln der Tabelle
B1 : {=TEIL(A1;MAX((TEIL(A1;SPALTE(1:1);1)="\")*SPALTE(1:1))+1;LÄNGE(A1)-MAX((TEIL(A1;SPALTE(1:1);1)="\")*SPALTE(1:1))+1)}
B2 : {=TEIL(A2;MAX((TEIL(A2;SPALTE(2:2);1)="\")*SPALTE(2:2))+1;LÄNGE(A2)-MAX((TEIL(A2;SPALTE(2:2);1)="\")*SPALTE(2:2))+1)}
B3 : {=TEIL(A3;MAX((TEIL(A3;SPALTE(3:3);1)="\")*SPALTE(3:3))+1;LÄNGE(A3)-MAX((TEIL(A3;SPALTE(3:3);1)="\")*SPALTE(3:3))+1)}
B4 : {=TEIL(A4;MAX((TEIL(A4;SPALTE(4:4);1)="\")*SPALTE(4:4))+1;LÄNGE(A4)-MAX((TEIL(A4;SPALTE(4:4);1)="\")*SPALTE(4:4))+1)}
Geschweifte Klammer nicht eingeben, Array-Formel mit SHIFT + STRG + ENTER abschliessen ! Gruss aus dem Hunsrück Klaus-Martin
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige