Dateiname mit VBA auslesen
Danushka
- vb-script
0 Axel Richter0 Danushka0 Susanne0 Axel Richter
Wie kann ich den Dateinamen des Dokumentes auslesen und in eine Variable speichern? Also ich arbeite mit Word und brauche das da um danach den Dateinamen in einem Textfeld auszugeben, habe in der Hilfe nichts gescheites gefunden
Danushka
Hallo,
Wie kann ich den Dateinamen des Dokumentes auslesen und in eine Variable speichern? Also ich arbeite mit Word und brauche das da um danach den Dateinamen in einem Textfeld auszugeben, habe in der Hilfe nichts gescheites gefunden
Sub dateiname()
Dim dname As String
dname = ActiveDocument.Name
MsgBox (dname)
End Sub
Hilfe: siehe Microsoft Word Visual Basic - Microsoft Word Visual Basic-Referenz - Objekte Document-Objekt
Aber, wenn einfach nur der aktuelle Dateiname irgendwo im Dokument stehen soll, warum nicht einfach:
Einfügen - Feld - Dateiname
{DATEINAME \* FORMATVERBINDEN}
Hilfe: siehe Microsoft Word Hilfe - Einfügen - Feld
viele Grüße
Axel
Danke schonmal, aber wie stehts, wenn ich anstatt den dateinamen WORDDATEI.DAT nur WORDDATEI haben möchte? Dann wirds schon schwieriger, ich versuche dies gerade mit einem Array, aber ich kann den Dokumentnamen nicht auf ein Array verteilen, geht irgendwie nicht
danushka
Hallo,
ein Array brauchst Du dafür doch gar nicht. Schneide doch einfach mit Left() und Len() die letzten vier Zeichen ab. Also, wenn Du den Dateinamen an die Variable strDName übergeben hättest, z. B.
strDName = Left(strDName, Len(strDName)-4)
Schau Dir in der VB / VBA-Hilfe mal die Zeichenkettenfunktionen an.
Gruß
Susanne
Hallo,
Danke schonmal, aber wie stehts, wenn ich anstatt den dateinamen WORDDATEI.DAT nur WORDDATEI haben möchte?
Sub dateiname()
Dim dateiname As String
Dim docname As String
dateiname = ActiveDocument.Name
'Die letzten 4 Zeichen sind der Typ (.doc)
docname = Left(dateiname, Len(dateiname) - 4)
MsgBox (docname)
End Sub
Dann wirds schon schwieriger, ich versuche dies gerade mit einem Array, aber ich kann den Dokumentnamen nicht auf ein Array verteilen, geht irgendwie nicht
Ja, das Konzept hinter VisualBasic for Applications (VBA) ist etwas anders als hinter VBScript, Java und JavaScript. Eine Funktion wie
Split(Expression, Delimiter, Count, Compare)
gibt es zwar in VBScript, aber nicht in VBA, jedenfalls nicht bis Office 97. Es könnte sein, dass die neueren Office-Systeme das können. Einfach mal nach split in der Hilfe suchen.
viele Grüße
Axel