Moin Gemeinde,
es geht darum einen Dateinamen zu verändern.Dazu habe ich mir aus verschiedenen Quellen im Internet den Programmcode zusammengesucht.
Der Dateiname steht in einem Textfeld und hat folgendes Muster:
\Anlagen\Karten Bilder\LS 001\LS 001 - 00001.jpg
Die Zahl wird ersetzt und die Dateiendung bleibt erhalten.
Hier jetzt der Code dazu der auch funkitioniert:
Dim QuellText As String
Dim ZielText As String
Dim Suche As Integer
Dim Position As Integer
Dim Ergebnis As String
QuellText = BildpfadNeu
Position = InStrRev(QuellText, ".")
Ergebnis = Mid(QuellText, Position)
Suche = InStr(QuellText, "-") ' Findet die Position des Punktes
ZielText = Left(QuellText, Suche - 1) & "- " & Eingabe & Ergebnis
MsgBox ZielText
QuellText und Eingabe sind jeweils Textfelder.
Meine Frage: Lässt sich dieser Programmcode vereinfachen?
Wünsche allen ein schönes Wochenende
Jörg
Hallo Jörg
Ich verstehe dein Anliegen nicht ganz. Und ich glaube, der gepostete Code ist nicht vollständig. Kannst du nicht den ganzen Code zeigen?
Und was soll das Ergebnis sein? Eine MsgBox mit dem Zieltext kann ja nicht der Schluss sein.
Gruss, Köbi
Hallo Köbi,
doch, das ist der ganze Code der im Klickereignis eines Button steht. Die Zahl im String soll ausgetauscht werden.
Das ist ja vorläufig nur ein Test. Später sollen Daten in einer Tabelle ausgetauscht werden.
Schönes Wochenende
Jörg
hallo Jörg, der Code kann nicht vollständig sein.
Aber Skizziere doch bitte einfach mal Dein komplettes anliegen und nicht jetzt einen Teil, der nachher aber anders sein soll bzw. erweitert.
Sag einfach mal was das Endergebnis sein soll und woher genau welche Daten kommen (für den Namen) und wie er aufgebaut werden soll.
Gruß
Holger
Hallo Jörg,
schreibe doch bitte mal in dem Thread (https://www.access-o-mania.de/forum/index.php?topic=28622.msg169640;topicseen#msg169640) ob der nun erledigt ist.
Weil Du nicht mehr gentwortet hattest ob Du mit den Vorschlägen klar gekommen bist oder ob das auch noch weiterhin eine offene Baustelle ist.
Holger
Hallo Jörg,
wenn die Zahl immer 5-stellig ist, dann könnte man das so machen:
Dim strEingabe As String
Dim strFilename As String
Dim lngPos As Long
Const FNAME As String = "\Anlagen\Karten Bilder\LS 001\LS 001 - 00001.jpg"
Const FMASK As String = "00000"
strEingabe = "127"
lngPos = InStrRev(FNAME, ".") - Len(FMASK)
strFilename = FNAME
Mid$(strFilename, lngPos, Len(FMASK)) = Format$(strEingabe, FMASK)
Debug.Print "[" & strFilename & "]"
Knobbi38
Hallo Knobi,
ganz dicken Dank an dich. Ja, die Zahl ist immer 5-Stellig.
Werde deinen Code nachher ausprobieren.
Wünsche allen ein schönes Wochenende
Jörg
Hallo Knobi,
hat bestens geklappt. Vielen Dank
Wünsche dir ein schönes Wochenende
Jörg