Seite 1 von 1
Feldbefehl Jahr.TageImJahr
Verfasst: Sa 23. Apr 2016, 13:30
von oopa
Nach einer Weile des (frustrierten) Probierens mit allen möglichen Ansätzen und der Feststellung, dass in diesem Bereich wenig an Doku zu finden ist, nun also die Hoffnung, dass einer von euch die Lösung kennt.
Ich möchte gerne (in die Fußzeile) eines (mehrseitigen) Dokuments eine Versionsnummer einfügen, die sich zusammensetzt aus dem Jahr und der Anzahl der seit dem 1.1. vergangenen Tage. Für heute also: "16.114". Da gelingt mir nicht - weder mit verschiedenen Datumsformaten, noch mit Variablen noch Benutzerfeldern etc.
Re: Feldbefehl Jahr.TageImJahr
Verfasst: Sa 23. Apr 2016, 16:50
von miesepeter
Also die 16 kann man einfügen, die Tage seit dem Jahresbeginn könnte ich aber nur mit Calc errechnen. Ich fand keine Möglichkeit, das mit Writer-Formel zu erzeugen... Ciao
Re: Feldbefehl Jahr.TageImJahr
Verfasst: So 24. Apr 2016, 14:51
von lorbass
Du wirst vermutlich nicht umhin kommen, ein kleines Makro zu schreiben, das den Tag im Jahr bestimmt, und ein Feld in die Fußzeile einzufügen, das dieses Makro aufruft (Register Funktionen, Typ Makro ausführen im Dialog Felder).
Gruß
lorbass
Re: Feldbefehl Jahr.TageImJahr
Verfasst: Mo 25. Apr 2016, 16:31
von oopa
Danke für die Anregungen. Dass es ohne Makros nicht geht, hatte ich schon vermutet;
so scheint es dann wohl auch zu sein.
Re: Feldbefehl Jahr.TageImJahr
Verfasst: Mo 25. Apr 2016, 19:17
von F3K Total
Hi,
mit folgendem Makro
Code: Alles auswählen
Sub Set_Current_day_of_Year
dim nDate as long
oTFEnum = thiscomponent.Textfields.createEnumeration
while oTFEnum.hasmoreelements
oTF = oTFEnum.nextElement
if oTF.VariableName = "TAG_IM_JAHR" then
n1stDate = DATEVALUE("01.01."+Year(now()))
oTF.Content = DATEVALUE(DATE())- n1stDate + 1
oTF.update
endif
wend
End Sub
geht es, wenn du über
STRG+F2 ->
Reiter Variablen ->
Variable setzen eine Variable
TAG_IM_JAHR erzeugst, z.B.
111 eingibst und in die Fußzeile einfügst.
Das Makro läßt du beim Öffnen des Dokumentes einmal ausführen ->
Menü
Extras/Anpassen.../Reiter Ereignisse -> Dokument öffnen -> Makro ..., hier das o.a. Makro auswählen, speichern, fertig.
Wenn Du die Datei öffnest, wird heute
116 eingetragen.
Damit das Makro laufen darf, stellst du unter
Extras/Optionen/LibreOffice/Sicherheit/Makrosicherheit mindestens die Stufe
Mittel ein, dann wirst du beim Öffnen von Dokumenten gefragt, ob du Makros ausführen möchtest.
Beispieldatei anbei. Um den Unterschied zu sehen, kannst Du die Datei erst ohne Makro öffnen, dann steht 16.100 in der Fußzeile, mit Makroausführung springt es auf 16.116 um, und beginnt in 2017 mit 17.001.
Gruß R
Re: Feldbefehl Jahr.TageImJahr
Verfasst: Sa 30. Apr 2016, 09:06
von oopa
Ohh, super! Danke für die Mühe. So werde ich es einmal ausprobieren.
Re: Feldbefehl Jahr.TageImJahr
Verfasst: Mo 2. Mai 2016, 23:35
von Wanderer
Hallo,
oopa hat geschrieben:Dass es ohne Makros nicht geht,
statt Makros könnte man sich auch von Calc helfen lassen und in einer simplen Calc-Datei in einem Feld
die Tageszahl zwischen HEUTE() und dem 1.1 des Jahres bestimmen.
Dies Feld kann man als DDE-Verknüpfung in Writer einbinden.
Einfacher ist das nicht, aber wenn man die Makrosicherheit nicht ändern will vielleicht eine Alternative.
MfG, Jörn