Schaltfläche löschen oder verstecken

Das Textverarbeitungsprogramm

Moderator: Moderatoren

Stancer
***
Beiträge: 67
Registriert: Do, 21.06.2007 14:05

Schaltfläche löschen oder verstecken

Beitrag von Stancer »

Hallo,
Ich wollte mal wissen ob es möglich ist einen Button inner halb eines Writerdokuments zu verstecken oder zu löschen.
Da ich ein Globaldokument benutze ist es sehr umständlich erst jedes einzelne aufzurufen und die Schaltflächen zu löschen.
Geht das nur mit einem Makro?
Habe zwar im Forum schon eines gefunden, aber das ist nur auf ein Formular anzuwenden und funktioniert im Writer nicht.
Danke für alle Antworten.

MfG Stancer
OpenOffice portable 2.1, Win XP
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Schaltfläche löschen oder verstecken

Beitrag von komma4 »

hätte Dir gerne geholfen, doch alle Versuche mit der DRAWPAGE eines Writer-Dokuments enden hier in einem Abbruch von OOo...
Ich fürchte an der Stelle einen Bug entdeckt zu haben.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Schaltfläche löschen oder verstecken

Beitrag von turtle47 »

Hallo Zusammen,

mit folgenden Codes kann man Schaltflächen ein-und ausblenden:

Code: Alles auswählen

Sub Button_Ausblenden
	oDoc = thisComponent
	oController = oDoc.getCurrentController()
	oform=odoc.drawpage.forms.getbyindex(0)
	oKontroll = oForm.getByName("PushButton") 'Achtung: Namen anpassen
	oKView = oController.getControl(oKontroll)
	oKView.visible = false
End Sub

Sub Button_Einblenden
	oDoc = thisComponent
	oController = oDoc.getCurrentController()
	oform=odoc.drawpage.forms.getbyindex(0)
	oKontroll = oForm.getByName("PushButton") 'Achtung: Namen anpassen
	oKView = oController.getControl(oKontroll)
	oKView.visible = True
End Sub
Viel Erfolg.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Stancer
***
Beiträge: 67
Registriert: Do, 21.06.2007 14:05

Re: Schaltfläche löschen oder verstecken

Beitrag von Stancer »

Guten Morgen,
Danke erstmal für die Hilfe.
@ Jürgen: Das ist genau das Makro was ich meinte. In einem Formular funktioniert es tadellos, aber in einem Globaldokument kommt immer ein Fehler in der Zeile.

Code: Alles auswählen

oKontroll = oForm.getByName("PushButton") 'Achtung: Namen anpassen
Es liegt aber nicht am Namen der Schaltfläche.

MfG Stancer
OpenOffice portable 2.1, Win XP
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Schaltfläche löschen oder verstecken

Beitrag von turtle47 »

Hi Stancer,

ich habe das ganze jetzt mal in einem Globaldokument getestet und da funktioniert das bei mir einwandfrei,
auch bei meiner Portabel-Version (2.0.4) läuft das ohne Probleme.
Füge die Datei mal zum testen an.

So ein Problem mit dem ausführen von Makros auf verschiedenen Rechnern und Versionen scheint bei OO ein generelles Problem zu sein.
Im Augenblick arbeite ich an einem aktuellen Fall, wo ein Makro, allerdings mit Dialog, bei mir und verschiedenen anderen Anwendern einwandfrei funktioniert und bei dem Anwender, der das Ding wirklich braucht einfach nicht funktioniert.
Dieser besagte Anwender hat das dann mal auf einem anderen Rechner mit Erfolg getestet.

Tell me why :?:

Jürgen
Dateianhänge
Globaldokument.zip
(7.1 KiB) 72-mal heruntergeladen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Stancer
***
Beiträge: 67
Registriert: Do, 21.06.2007 14:05

Re: Schaltfläche löschen oder verstecken

Beitrag von Stancer »

Hallo Jürgen.
Hatte warscheinlich die ganze Zeit ein Brett vorm Kopf.
Der Code funktioniert einwandfrei, allerdings spricht er das aktuelle Dokument an und die Schaltfläche befindet sich in einem Unterdukument des Globaldokuments. Somit ist es kein wunder das der Fehler in der Zeile mit dem Namen auftritt.
gibt es eine möglichkeit das Unterdokument im Makro anzusprechen ohne es erst öffnen zu müssen, oder noch besser den Button zu löschen anstatt zu verstecken. Beim löschen würde nämlich auch die "ThisComponent" Anweisung reichen. Habe schon versucht es einfach so einzubinden das der Knopf versteckt wird wenn die Datei geladen wird. Allerdings passiert da gar nichts. Im Globaldokument ist er dann einfach wieder da.

Mfg Stancer
OpenOffice portable 2.1, Win XP
Antworten