🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Feldbefehl Jahr.TageImJahr

WRITER hat alles, was Sie von einer modernen, voll ausgestatteten Textverarbeitung erwarten.
Antworten
oopa
Beiträge: 32
Registriert: Fr 5. Apr 2013, 06:43

Feldbefehl Jahr.TageImJahr

Beitrag von oopa » Sa 23. Apr 2016, 13:30

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.

Benutzeravatar
miesepeter
* LO-Experte *
Beiträge: 2137
Registriert: So 19. Dez 2010, 18:16
Wohnort: Bayern

Re: Feldbefehl Jahr.TageImJahr

Beitrag von miesepeter » Sa 23. Apr 2016, 16:50

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

Benutzeravatar
lorbass
* LO-Experte *
Beiträge: 627
Registriert: Mo 25. Apr 2011, 18:17

Re: Feldbefehl Jahr.TageImJahr

Beitrag von lorbass » So 24. Apr 2016, 14:51

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

oopa
Beiträge: 32
Registriert: Fr 5. Apr 2013, 06:43

Re: Feldbefehl Jahr.TageImJahr

Beitrag von oopa » Mo 25. Apr 2016, 16:31

Danke für die Anregungen. Dass es ohne Makros nicht geht, hatte ich schon vermutet;
so scheint es dann wohl auch zu sein.

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Feldbefehl Jahr.TageImJahr

Beitrag von F3K Total » Mo 25. Apr 2016, 19:17

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
Dateianhänge
Tag_im_Jahr.odt
(10.95 KiB) 275-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO

oopa
Beiträge: 32
Registriert: Fr 5. Apr 2013, 06:43

Re: Feldbefehl Jahr.TageImJahr

Beitrag von oopa » Sa 30. Apr 2016, 09:06

Ohh, super! Danke für die Mühe. So werde ich es einmal ausprobieren.

Wanderer
* LO-Experte *
Beiträge: 909
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Feldbefehl Jahr.TageImJahr

Beitrag von Wanderer » Mo 2. Mai 2016, 23:35

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
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten