ich m�chte in ein Dokument den Dateinamen ohne die Extension als Text
im der Kopfzeile einf�gen, wie geht das?
Mit Autotext geht das nur mit Extension!
Gru�
J�rgen
> ich m�chte in ein Dokument den Dateinamen ohne die Extension als Text
> im der Kopfzeile einf�gen, wie geht das?
Wie genau ist der Inhalt Deines Feldes (�ber Alt-F9 anzeigen lassen)?
Mit { FILENAME \* MERGEFORMAT }
wird bei mir - allerdings WORD 2007 - der Name des Dokuments wie von Dir
gew�nscht ohne Extension ausgegeben. { } �ber Strg-F9.
Gru�, Daniel
danke f�r den Tipp,
funktioniert in W2002 aber leider nicht.
Gru�
J�rgen
Allerdings nur, wenn im neuen Dateiformat gespeichert wird. Speichert
man das Dokument als DOC-Datei, erscheint wieder die
Dateinamenserweiterung im Ergebnis des Feldes.
--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>
"Herfried K. Wagner [MVP]" schrieb
[im Dokument den Dateinamen ohne Extension anzeigen]
>> Mit { FILENAME \* MERGEFORMAT }
>>
>> wird bei mir - allerdings WORD 2007 - der Name des Dokuments wie von Dir
>> gew�nscht ohne Extension ausgegeben.
> { } �ber Strg-F9.
>
> Allerdings nur, wenn im neuen Dateiformat gespeichert wird. Speichert man
> das Dokument als DOC-Datei, erscheint wieder die Dateinamenserweiterung im
> Ergebnis des Feldes.
ob die Dateinamenserweiterung angezeigt wird oder nicht, h�ngt von der
Einstellung im Betriebssystem ab:
Windows-Explorer | Extras | Ordneroptionen | Ansicht | Erweiterungen bei
bekannten Dateitypen ausblenden.
--
Viele Gr��e
Lisa
MS MVP Word
"Juergen Kanuff" schrieb
> ich m�chte in ein Dokument den Dateinamen ohne die Extension als Text in
> der Kopfzeile einf�gen, wie geht das?
die Dateinamenerweiterung wird abh�ngig von der Einstellung im
Windows-Explorer angezeigt bzw. nicht angezeigt.
Falls du also Erweiterungen bekannten Dateitypen nicht dauerhaft ausblenden
lassen willst, hilft dir nur eine VBA-L�sung, wie beispielsweise von
Christian Fre�dorf beschrieben:
http://www.chf-online.de/vba/vbaNoExt.htm
Am 01.02.2010 09:46, schrieb Lisa Wilke-Thissen:
> [im Dokument den Dateinamen ohne Extension anzeigen]
>
>>> Mit { FILENAME \* MERGEFORMAT }
>>>
>>> wird bei mir - allerdings WORD 2007 - der Name des Dokuments wie von Dir
>>> gew�nscht ohne Extension ausgegeben.
>> { } �ber Strg-F9.
>>
>> Allerdings nur, wenn im neuen Dateiformat gespeichert wird. Speichert
>> man das Dokument als DOC-Datei, erscheint wieder die
>> Dateinamenserweiterung im Ergebnis des Feldes.
>
> ob die Dateinamenserweiterung angezeigt wird oder nicht, h�ngt von der
> Einstellung im Betriebssystem ab:
> Windows-Explorer | Extras | Ordneroptionen | Ansicht | Erweiterungen bei
> bekannten Dateitypen ausblenden.
Stimmt, da waren meine Tests wohl nicht weitreichend genug. Der Grund,
weshalb ich zur falschen Annahme kam, war, da� die genannte Feldfunktion
nur "Dokument1" zur�ckgibt, solange das Dokument noch nicht gespeichert
ist; unabh�ngig davon, ob systemweit die Anzeige von
Dateinamenserweiterungen aktiviert ist oder nicht. Nach dem Speichern
und Aktualisieren des Feldes wird dann "Dok1.doc" bzw. "Dok1.docx"
angezeigt.
ich habe gerade festgestellt das bei Word2002 der Dateiname eingef�gt
wird der dem Namen der Datei zu diesem Zeitpunkt entspricht.
�ndert man danach den Dateinamen wird nicht automatisch der aktuelle
Dateiname eingef�gt sondern der alte Dateiname bleibt bestehen.
1. Frage:
Kann man das anders Besser hinbekommen?
2. Frage:
macht Word2007 das genauso?
Gru�
J�rgen
Dieses Feld sollte sich eigentlich laut MS selbst aktualisieren, tut es aber
nicht. Man kann es z.B. manuell aktualisieren (ist ziemlich l�stig).
Ich habe es mit Hilfe eines AutoOpen-Makros, in dem dieses Feld aktualisiert
wird, einigerma�en hingebogen.
Diese Makros musste ich auch bei 2007 verwenden :-(
Sub AutoOpen()
cFeldCode = " FILENAME "
nLen = Len(cFeldCode)
For Each Feld In ActiveDocument.Fields
If Left(Feld.Code, nLen) = cFeldCode Then
If Feld.Result <> ActiveDocument.Name Then Feld.Update
Exit Sub
End If
Next
End Sub
Gru�
Bernhard Sander
danke f�r das Makro.
ich habe noch keins in Word eingebaut.
wo finde ich dazu die richtige Anleitung?
Gru�
J�rgen
>> Sub AutoOpen()
>> cFeldCode = " FILENAME "
>> nLen = Len(cFeldCode)
>> For Each Feld In ActiveDocument.Fields
>> If Left(Feld.Code, nLen) = cFeldCode Then
>> If Feld.Result <> ActiveDocument.Name Then Feld.Update
>> Exit Sub
>> End If
>> Next
>> End Sub
>
> danke f�r das Makro.
>
> ich habe noch keins in Word eingebaut.
>
> wo finde ich dazu die richtige Anleitung?
In der Word-Hilfe?!
Ich versuch mal ne Kurzfassung
(und hoffe, dass die Men�befehle meines Word-2000 nicht allzu anders sind als in
Deinem Word 2002.)
Gehe auf Extras / Makros / Visual Basic-Editor
Es �ffnet sich ein mehrteiliges Fenster.
Links im Projekt-Baum klicke mit der rechten Maustaste auf den Zweig "Normal",
um das Makro in der Normal.dot abzuspeichern. Im Kontextmen� w�hle "Einf�gen /
Modul" (siehe auch die Anmerkung unten).
Im rechten gro�en Fensterteil erscheint ein Unterfenster zum Bearbeiten des "Modul1"
In dieses Modul kopierst Du das komplette Makro, angefangen von "Sub AutoOpen()"
bis "End Sub"
Jetzt speicherst Du noch das Makro �ber das Diskettensymbol in der Symbolleiste,
schlie�t den VBA-Editor und das war's auch schon f�r den Anfang.
Ab sofort wird dieses Makro bei jedem �ffnen eines auf der Normal.dot
basierenden Dokuments ausgef�hrt.
Falls Du f�r die Dokumente mit der Feldfunktion "Dokumentname" eine eigene
Vorlage angelegt hast, dann f�ge im Projektbaum das Modul nicht in "Normal" ein,
sondern in dem Zweig mit Deiner speziellen Vorlage. Im Zweifel musst Du die
Vorlage zun�chst ganz normal in Word �ffnen und dann erst zum VBA-Editor gehen.
Wenn das Makro in der speziellen Vorlage gespeichert wurde, dann wird es n�mlich
nur ausgef�hrt, wenn ein Dokument basierend auf dieser Vorlage ge�ffnet wird.
Gru�
Bernhard Sander
>> wo finde ich dazu die richtige Anleitung?
> In der Word-Hilfe?!
k�nnte sein!?
ich finde die Hilfe nur den letzten Mist da ich nie das finde wonach
ich suche, deshalb benutze ich sie kaum.
> Ich versuch mal ne Kurzfassung
> (und hoffe, dass die Men�befehle meines Word-2000 nicht allzu anders
> sind als in Deinem Word 2002.)
>
> Gehe auf Extras / Makros / Visual Basic-Editor
> Es �ffnet sich ein mehrteiliges Fenster.
> Links im Projekt-Baum klicke mit der rechten Maustaste auf den Zweig
> "Normal", um das Makro in der Normal.dot abzuspeichern. Im Kontextmen� w�hle
> "Einf�gen / Modul" (siehe auch die Anmerkung unten).
> Im rechten gro�en Fensterteil erscheint ein Unterfenster zum
> Bearbeiten des "Modul1" In dieses Modul kopierst Du das komplette
> Makro, angefangen von "Sub AutoOpen()" bis "End Sub"
> Jetzt speicherst Du noch das Makro �ber das Diskettensymbol in der
> Symbolleiste, schlie�t den VBA-Editor und das war's auch schon f�r
> den Anfang.
> Ab sofort wird dieses Makro bei jedem �ffnen eines auf der Normal.dot
> basierenden Dokuments ausgef�hrt.
es ging so wie du dankenswerterweise beschrieben hast.
ich habe die Datei danach umbenannt und ge�ffnet,
die Aktualisierung findet aber nicht statt.
Woran k�nnte das liegen?
Gru�
J�rgen
> es ging so wie du dankenswerterweise beschrieben hast.
>
> ich habe die Datei danach umbenannt und ge�ffnet,
> die Aktualisierung findet aber nicht statt.
Ups, ich hatte ignoriert, dass Du den Dateinamen im Kopfbereich unterbringen willst.
Du m�sstest das Makro durch folgendes ersetzen:
Sub AutoOpen()
cFeldCode = " FILENAME "
nLen = Len(cFeldCode)
For Each Schnipsel In ActiveDocument.StoryRanges
For Each feld In Schnipsel.Fields
If left(feld.Code, nLen) = cFeldCode Then
If feld.Result <> ActiveDocument.Name Then feld.Update
Exit Sub
End If
Next
Next
End Sub
Falls Du den Dokumentnamen an verschiedenen Stellen im Dokument eingef�gt hast,
dann musst Du ausserdem ungef�hr in der Mitte die Zeile "Exit Sub" l�schen. Die
sorgt n�mlich daf�r, dass bereits beim ersten F�ndigwerden das Makro abgebrochen
wird.
Gru�
Bernhard Sander
danke f�r das Makro,
jetzt funktioniert es wie erwartet.
Gru�
J�rgen