Die InStr-Funktion ist wichtig, wenn Du überprüfen willst
(mußt), ob überhaupt ein Punkt im Dateinamen vorkommt und an
welcher Stelle.
genau, denn das ist imho wichtig wenn nicht nur .DOC sondern auch .DOCX als Dateiendungen vorkommen können.
Daher mein Vorschlag:
Dim stEingabe As String
Dim stAusgabe As String
Dim PKT_Pos
stEingabe = „mein_Dateiname.doc“
PKT_Pos = INSTR(1,stEingabe,".") 'Position des Punktes ermitteln
stAusgabe = MID(stEingabe,1,PKT_Pos-1) 'von ersten Position bis vor dem Punkt ausgeben
Tipp am Rande: setze den Cursor mittig auf z.B. INSTR und drücke die F1 Taste. Dann wird dir Hilfe mit dem Syntax und i.d.R. Beispielen angezeigt.
allgemeiner, bzw. sicherer wäre die Verwendung von InStrRev, um von „rechts“ her den Extension-Punkt zu finden. Oftmals gibt es auch einen oder sogar mehrere Punkte im Dateinamen selber, die nicht die Abgrenzung zur Dateinamenerweiterung darstellen.
allgemeiner, bzw. sicherer wäre die Verwendung von InStrRev,
um von „rechts“ her den Extension-Punkt zu finden. Oftmals
gibt es auch einen oder sogar mehrere Punkte im Dateinamen
selber, die nicht die Abgrenzung zur Dateinamenerweiterung
darstellen.
Hallo Franz,
m.W. gab es in Office97 noch kein InstrRev.
Die Funktion müßte man sich selbst schreiben genau wie Split().
Punkte im Dateinamen sind inzwischen erlaubt? UI, kaum glaub. Ich mache so einen Mist nie. Meine Dateinamen befolgen gewissermaßen noch die alte 8.3 Regel ohne Sonderzeichenschnickschnack.
Okay, inzwischen auch mehr als 8 als Namen , aber never in the morning time äöß. usw. im Namen. Dito bei der Endung.
Zum Code, ich würde vorab mit Instr „.doc“ abprüfen.
@Anfrager, wenn du in Access97 Vba machst könntest du ja vllt. die
Funktionen InstrRev und Split ab und zu brauchen.
Sag Bescheid, habe mir da was gebastelt vor langer Zeit.