Seite 1 von 1
Schaltfläche löschen oder verstecken
Verfasst: Di, 11.09.2007 11:33
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
Re: Schaltfläche löschen oder verstecken
Verfasst: Di, 11.09.2007 14:37
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.
Re: Schaltfläche löschen oder verstecken
Verfasst: Di, 11.09.2007 15:32
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
Re: Schaltfläche löschen oder verstecken
Verfasst: Mi, 12.09.2007 08:35
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
Re: Schaltfläche löschen oder verstecken
Verfasst: Mi, 12.09.2007 09:12
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
Re: Schaltfläche löschen oder verstecken
Verfasst: Mi, 12.09.2007 10:13
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