![]() |
||
![]() |
Winword 6/7: Immer wieder FreitagIn WIN 7/97 brachten wir folgende Leserfrage: Eine von mir genutzte Dokumentvorlage soll immer das Datum des letzten aktuellen Freitags tragen. Ich brauche also eine Winword-Funktion, die, egal wann ich die Vorlage ÷ffne, das Datum des letzten Freitags einfⁿgt. ╓ffne ich die Vorlage an einem Freitag, springt das Datum an diesem Tag um und bleibt bis zum nΣchsten Freitag darauf stehen. Ist das irgendwie zu machen? Zu diesem Problem gingen zwei verschiedene L÷sungsansΣtze ein. Thomas Dahlmann aus Meitingen bedient sich zum Errechnen des Freitagsdatums einer Excel-Tabelle und verknⁿpft das Ergebnis mit der Winword-Vorlage. Vorteil des Verfahrens: Da es sich ausschlie▀lich auf direkte Programmfunktionen bezieht und nicht auf Makrocode zurⁿckgreift, funktioniert es auch einwandfrei mit Winword und Excel 97: ╓ffnen Sie Excel, legen Sie in einem neuen, leeren Tabellenblatt den Tabellenbereich an, den Sie unten dargestellt sehen: Spalte A dient nur der Beschriftung, Sie k÷nnen sie auch leer lassen. Ebenso optional ist es, den Zellen B2 sowie E2 bis E8 ⁿber Format û Zellen û Zahlen û Benutzerdefiniert das Format tttt zu geben. Excel zeigt dann nicht nur die dem Tag zugewiesene Tageszahl, sondern den Tag voll ausgeschrieben an. Diese Formatierungen sind aber eher unwichtig, da Sie spΣter aus Winword per OLE direkt auf die Tabelle zugreifen und sie nicht mehr zu ÷ffnen brauchen. Haben Sie die Tabelle abgetippt und funktioniert sie korrekt, dann erhalten Sie in Zelle B4 das gewⁿnschte Datum des jeweils letzten Freitags. Markieren Sie diese einzelne Zelle und fⁿgen sie mit [Strg]+[C] in die Zwischenablage ein. Lassen Sie Excel offen, starten Sie nun Winword und setzen die Textmarke in Ihrer Dokumentvorlage dort, wo das Datum erscheinen soll. Rufen Sie dann im Menⁿ den Befehl Bearbeiten û Inhalte einfⁿgen auf. WΣhlen Sie aus der Liste die Option Unformatierten Text und setzen dann den Schalter links von der Liste auf Verknⁿpfen. Mit OK fⁿgen Sie das Datum ein. Zum Schlu▀ sichern Sie Ihre Dokumentvorlage und schlie▀en Excel. ╓ffnen Sie kⁿnftig ein auf dieser Formatvorlage basierendes Winword-Dokument, dann holt sich Winword jedesmal das Datum per OLE aus der Excel-Tabelle, obwohl diese nicht ge÷ffnet ist. Die Aktualisierung lΣuft dabei automatisch. Voraussetzung ist allerdings, da▀ Sie den Speicherort der Excel-Tabelle nicht verΣndern. Wollen Sie dies tun, mⁿssen Sie die OLE-Verknⁿpfung des Datumsfelds per Zwischenablage wiederholen. Die Tabelle FREITAG.XLS finden Sie schon fertig auf der WIN-Monats-CD und in den WIN-Online-Foren. Zur Realisierung der Funktion direkt in Winword 6/7 lieferte Steffen H÷hne aus Gera die Anregung. In Zusammenarbeit mit WIN-Programmierspezialist Christian Hartnick entstand dieses Wordbasic-Makro: Sub MAIN╢ Datum = Heute ()╢ Diff = (Datum + 1) Mod 7╢ Datum = Datum - Diff╢ BearbeitenGeheZu .Ziel = ädÆAktualDatÆô╢ BearbeitenL÷schen╢ Einfⁿgen Date$(Datum)╢ End Sub╢Das Makro setzt voraus, da▀ Sie in Ihre Dokumentvorlage das Datum mit der Funktion Einfⁿgen û Feld û Datum und Uhrzeit û AktualDat ⁿbernommen haben. Wollen Sie direkt mit Einfⁿgen û Datum und Uhrzeit arbeiten, ersetzen Sie in Zeile 6 des Makros den Ausdruck AktualDat durch den Ausdruck Zeit. Sie finden das Makro als Textdatei FREITAG.TXT auch auf der aktuellen WIN-Monats-CD und in den WIN-Foren. Kopieren Sie das Makro in die Zwischenablage und rufen dann in Winword Extras û Makro auf. Damit das Makro bei jedem Laden der Dokumentvorlage automatisch ausgefⁿhrt wird, geben Sie ihm den Namen AutoNew. Klicken Sie nun noch auf Erstellen und fⁿgen das Listing aus der Zwischenablage unter der Zeile Sub MAIN ein. |
![]() |