Durch Optionsfeld/Markierfeld, eine Tabelle/Text einbleden

Das Textverarbeitungsprogramm

Moderator: Moderatoren

pmoegenb
********
Beiträge: 4330
Registriert: Di, 22.06.2004 12:02
Wohnort: 71134 Aidlingen
Kontaktdaten:

Re: Durch Optionsfeld/Markierfeld, eine Tabelle/Text einbled

Beitrag von pmoegenb »

EscaFlow hat geschrieben:"Das Formular, an dem ich grade hänge, soll dann in ein bearbeitbares PDF konvertiert werden. Ist es da überhaupt noch möglich Texte ein- / auszublenden, wenn vorher ein Button geklickt wurde?"
Funktionen von Writer können m.W. nicht als PDF exportiert werden.
Gruß

Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Durch Optionsfeld/Markierfeld, eine Tabelle/Text einbled

Beitrag von F3K Total »

Hallo EscaFlow,
es gibt noch eine weitere Möglichkeit, du kannst mit Bereichen und einem Makro arbeiten.
Im angehängten Beispiel wird das Makro gestartet, wenn Du eines der Markierfelder anklickst.
Der jeweils unter dem Markierfeld liegende Bereich wird ein- bzw. ausgeblendet.
Dabei muß man aber sehr aufpassen dass die Markierfelder selbst nicht im jeweiligen Bereich liegen, sonst verschwinden die auch.
Ich habe es so gemacht:
- Zwei Absätze vor einer Tabelle, am ersten hängt das Markierfeld, der zweite definiert den Beginn des Bereiches
- Einen Absatz nach der Tabelle, der definiert das Ende des Bereiches.
Zum Einfügen eines Bereiches markierst Du nun vom Absatz vor der Tabelle bis zum Absatz nach der Tabelle und gehts auf Einfügen/Bereich.

Das Makro kann im Augenblick zwei Bereiche verarbeiten, wenn Du mehr brauchst, mußt Du es sinngemäß erweitern.

Code: Alles auswählen

Sub S_Sections_visible_invisible

dim ochkbox(1) as object ' 1 für zwei Markierfelder, 2 für drei Markierfelder usw ...
odoc = thiscomponent
ochkbox(0) = odoc.drawpage.forms(0).getbyname("Markierfeld1")
ochkbox(1) = odoc.drawpage.forms(0).getbyname("Markierfeld2")

osections=odoc.TextSections 'Bereiche auslesen

for i = 0 to 1
 if ochkbox(i).state = 1 then 'Auslesen ob das i-te Markierfeld angehakt ist, wenn ja
  osections.getbyindex(i).IsVisible=true' i-ten Bereich einblenden
 else 'wenn nein
  osections.getbyindex(i).IsVisible=false' ' i-ten Bereich ausblenden
 endif
next i

End Sub
Gruß R
Dateianhänge
Tabellen_ein_ausblenden.odt
(13.88 KiB) 56-mal heruntergeladen
Antworten