CALC Makro: Wert in Zelle schreiben, Blatt drucken
Verfasst: Sa 25. Jul 2026, 19:10
Eine CALC -Tabelle dient als Vorlage für eine handschriftliche Datenerfassung.
In Zelle A2 wird das Datum Monats-Ersten eingetragen, z.B. 2026-08-01. Damit werden per Formeln für diesen Monat alle zugehörigen Tage eingetragen.
Außerdem gibt es eine Schaltfläche "Drucken".
Das Makro soll die Vorlage für mehrere (nachfolgende) Monate drucken, als Start habe ich dem Makro-Rekorder diesen Code erzeugt und in dieser Tabelle gespeichert:
Probleme:
In Zelle A2 wird das Datum Monats-Ersten eingetragen, z.B. 2026-08-01. Damit werden per Formeln für diesen Monat alle zugehörigen Tage eingetragen.
Außerdem gibt es eine Schaltfläche "Drucken".
Das Makro soll die Vorlage für mehrere (nachfolgende) Monate drucken, als Start habe ich dem Makro-Rekorder diesen Code erzeugt und in dieser Tabelle gespeichert:
Code: Alles auswählen
REM ***** BASIC *****
SUB Print
rem define variables
DIM objDocument AS OBJECT
DIM objDispatcher AS OBJECT
rem ----------------------------------------------------------------------
rem get access to the document
ojDocument = ThisComponent.CurrentController.Frame
objDispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
DIM args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$2"
objDispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
DIM args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "StringName"
args2(0).Value = "=2026-08-01"
objDispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args2())
objDispatcher.executeDispatch(document, ".uno:JumpToNextCell", "", 0, Array())
objDispatcher.executeDispatch(document, ".uno:Print", "", 0, Array())
END SUB- In der Schaltfläche kann ich den Code nicht zuordnen, das Makro "Print" wird gar nicht angezeigt.
Nach "Einzelschritt" eine Fehlermeldung:BASIC-Syntaxfehler. Symbol erwartet.
- Eine Jahr / Monat - Kombination als Startwert abfragt,
- Die Anzahl der zu druckenden Monate abfragt und
- damit den Druck startet.