43103,68
ist nichts anderes als die “gewöhnliche” Darstellung der Zahl, die als Datum-Zeit-Wert formatiert 2018-01-03 16:19:12
ergäbe.
Die einfügbaren Felder ‘Datum’ und ‘Datum (fix)’ erlauben die Wahl des Darstellungsformats. Ein Feldbefehl, der eigentlich Text einfügen soll, den Text aber unter Einbeziehung eines Zahlewerts bilden muss, nimmt eine automatische Konvertierung vor - und die kennt das gewünschte Format nicht.
Das angemessene Mittel, die “lästige Datumsangabe” zu sparen, ist nicht ein “Makro”, sondern eine Briefvorlage.
Also: Deine Briefvorlage sollte "Berlin, " als Text enthalten, und danach des Feld ‘Datum (fix)’ in geeigneter Formatierung. Übrigens ist das eindeutig beste und nach DIN 5008 normgerechte Datumformat “JJJJ‑MM‑TT” (ISO 8601-konform).
“…Feldbefehl im Makro…” verstehe ich vielleich nicht richtig. Falls du in einem BASIC-Makro das Ergebnis der Now() -Funktion als Datum formatieren willst, musst du Formatcodes benutzen. In deinem (von mir nicht affirmierten) Beispiel wäre etwa
einfText = Format(Now(), """Berlin, den ""DD. MMMM. YYYY")
zu verwenden. Ich mache das selbst nicht so, und weiß auch nicht ob und wie man die Dokumentsprache bei abweichendem Gebietsschema zur Wirkung bringen kann.
Bearbeitung unter Berücksictigung der nachträglichen Anmerkung des OQ:
Natürlich kann man solche Aktionen auch in LibO mit CustomCode implementieren. Ich empfehle es nicht, aber es ist ganz lustig, sowas hin und wieder zu machen. Diese Demo enthält den Code, den ich fast vollständig bei Andrew Pitonyak abgekupfert habe. Man kann ihn natürlich auch in einen Modul der eigenen Standardbibliothek legen. Das Beispiel enthält zwar englischen Dummytext (weil ich UI und locale auf “English (UK)” eingestellt habe), hat aber die Dokumentsprache “German (Germany)”. Das demonstriert auch, dass das Format (Monatsnamen!) hier dank Andrews Geschicklichkeit der Dokumentsprache folgt.
Kann MS Office das auch?