Supportnet / Forum / Textverarbeitung
String mit Makro kürzen
Frage
Hallo,
ich würde gerne den Dateinamen, den ich mit ActiveDocument.Name finde um die letzten 3 oder 4 Stellen kürzen. Also im Grunde möchte ich einfach das doc. weghaben. Weiß jemand von euch, wie man sowas in einem Word-Makro macht? Mit left(...) kann man ja nur auf eine vorgegebene Länge kürzen. Oder kann man z.B. den Stelle des "." in dem Namen finden?
Danke und viele Grüße
Michigan
Antwort 1 von Michigan
Hallo,
ich habe eine Lösung gefunden.
Left(ActiveDocument.Name, InStr(ActiveDocument.Name, ".doc")-1)
Gruß
Michigan
ich habe eine Lösung gefunden.
Left(ActiveDocument.Name, InStr(ActiveDocument.Name, ".doc")-1)
Gruß
Michigan
Antwort 2 von conny77
Deine Lösung kann böse Nebenwirkungen haben, wenn nämlich entweder ".doc" nicht im Namen vorkommt oder wenn es schon vorher, also nicht am Ende vorkommt.
oder: kürzen, bis die Endung weg ist
Folgendes stammt aus der Hilfe:
Beispiel zur SaveAs-Methode
In diesem Beispiel wird das aktive Dokument als "Text.rtf" im RTF-Format (Rich Text Format) gespeichert.
n$ = active.document.name
if right(n$, 4) = ".doc" then n$ = left(n$, len(n$)-4))
oder: kürzen, bis die Endung weg ist
n$ = active.document.name
while right(n$,1)<>"." and len(n$)>1
n$ = left(n$, len(n$)-1)
wend
Folgendes stammt aus der Hilfe:
Beispiel zur SaveAs-Methode
In diesem Beispiel wird das aktive Dokument als "Text.rtf" im RTF-Format (Rich Text Format) gespeichert.
ActiveDocument.SaveAs FileName:="Text.rtf", FileFormat:=wdFormatRTF
In diesem Beispiel wird das aktive Dokument im Textdateiformat mit der Dateinamenerweiterung ".txt" gespeichert.
myDocname = ActiveDocument.Name
pos = InStr(myDocname, ".")
If pos > 0 Then
myDocname = Left(myDocname, pos - 1)
myDocname = myDocname & ".txt"
ActiveDocument.SaveAs FileName:=myDocname, _
FileFormat:=wdFormatText
End If