Hi, es fehlt die Definition von oDrawpage:
Code: Alles auswählen
Sub UnsichtbarAnAus
oDrawpage = ThisComponent.Drawpage
oForm = oDrawpage.Forms.getByName("MainForm")
oFeld = oForm.getByName("txtDE-Wort/Satz 1")
IF oFeld.enableVisible = false THEN
oFeld.enableVisible = true
ELSE
oFeld.enableVisible = false
END IF
end sub
Gruß R
EDIT
Da bei deinem Code der Name des Textfeldes im Makro steht, müsstest du für jedes weitere Feld ein neues Makro schreiben.
Es geht auch anders, mit nur einem Makro für alle vier Schaltflächen:
In die Zusatzinformation einer Schaltfläche kann man, z.B. per Semikolon getrennt, die Namen der ein- oder auszublendenden Kontrollfelder hinterlegen -> klicke die Schaltfläche im Formularnavigator an, markiere sie, rechte Maustaste, Eigenschaften... Reiter Allgemein, etwas weiter unten:

- ZI.png (7 KiB) 3557 mal betrachtet
Das Makro:
Code: Alles auswählen
Sub UnsichtbarAnAus (oEvent)
oButton = oEvent.source.model
sFields = oButton.tag
aFields = split(sFields,";")
oDrawpage = ThisComponent.Drawpage
oForm = oDrawpage.Forms.getByName("MainForm")
IF oButton.Label = "DE-ANZEIGEN" THEN
oButton.Label = "DE-AUSBLENDEN"
oButton.BackgroundColor = 16763904 'Orange
for i = 0 to 1
oFeld = oForm.getByName(aFields(i))
oFeld.enableVisible = true
next i
ELSE
oButton.Label = "DE-ANZEIGEN"
oButton.BackgroundColor = 52224 'Grün 3
for i = 0 to 1
oFeld = oForm.getByName(aFields(i))
oFeld.enableVisible = false
next i
END IF
end sub
liest diese Zusatzinformation mit
aus, teilt den Text mit
wieder in zwei Teile und blendet dann mit der for...next Schleife jeweils das korrespondierende Text- und Beschriftungsfeld ein/aus.
Ausserdem wird der Text auf dem Button und seine Farbe sinngemäß angepasst.