Makroaufruf durch Button im Dialog
Moderator: Moderatoren
Makroaufruf durch Button im Dialog
Ich habe unter "Meine Makros/Standard" 2 Module. Das Modul 1 ist ein Makro, das einen Dialog zeichnet und dessen Listbox mit einer SQL Abfrage befüllt. Der Dialog enthält einen OK-Button,
bei Klick dieses OK-Buttons würde ich gerne das Makro in Modul 2 Aufrufen, das den selektierten Wert der Listbox im Dialog ausliest.
Geht das?
bei Klick dieses OK-Buttons würde ich gerne das Makro in Modul 2 Aufrufen, das den selektierten Wert der Listbox im Dialog ausliest.
Geht das?
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Makroaufruf durch Button im Dialog
Ja, das geht.
Du musst einen event listener programmieren und den Kontrollelementen zuweisen.
Schau' mal hier: viewtopic.php?f=18&t=6413&p=24291
Oder in einem der 31 threads von DannyB (TheMan !) mit Suchbegriff "event listener" im http://www.oooforum.org
Viel Erfolg!
Du musst einen event listener programmieren und den Kontrollelementen zuweisen.
Schau' mal hier: viewtopic.php?f=18&t=6413&p=24291
Oder in einem der 31 threads von DannyB (TheMan !) mit Suchbegriff "event listener" im http://www.oooforum.org
Viel Erfolg!
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)
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)
Re: Makroaufruf durch Button im Dialog
Seit wann braucht man für einen Button einen EventListener?
Entweder der Butto ist einem Dialog und kann dann mit der Eigenschaft-Ereignisse -> beim Auslösen ein Makro zugewiesen bekommen oder
der Button ist auf dem Formular und dann kann er auch unter Eigenschaften..... zugewiesen bekommen. Das geht auch per Makro.
mfg
Michael
Entweder der Butto ist einem Dialog und kann dann mit der Eigenschaft-Ereignisse -> beim Auslösen ein Makro zugewiesen bekommen oder
der Button ist auf dem Formular und dann kann er auch unter Eigenschaften..... zugewiesen bekommen. Das geht auch per Makro.
mfg
Michael
__
FAQ zu Starbasic -> http://www.starbasicfaq.de
FAQ zu Starbasic -> http://www.starbasicfaq.de
Re: Makroaufruf durch Button im Dialog
Ja, der Button ist in einem Dialog. Der Dialog wird aber von einem Makro gezeichnet und daher erreich ich dort nicht den Menüpunkt Eigenschaften/Ereignisse.
Als ich den Dialog per Hand durch den Formeditor gezeichnet habe, bin ich dort hin gekommen zu diesem Menüpunkt, nun aber eben nicht.
Mir wäre es aber sowieso ganz Recht, wenn ich das alles im Makro programmieren könnte. Also der Button wird angeklickt --> ein anderes Makro (sub funktion) wird ausgeführt.
Als ich den Dialog per Hand durch den Formeditor gezeichnet habe, bin ich dort hin gekommen zu diesem Menüpunkt, nun aber eben nicht.
Mir wäre es aber sowieso ganz Recht, wenn ich das alles im Makro programmieren könnte. Also der Button wird angeklickt --> ein anderes Makro (sub funktion) wird ausgeführt.
Re: Makroaufruf durch Button im Dialog
Schau Dir mal folgendes untere Beispiel an. Dort wird auch mit dem Listener gearbeitet.
Vielleicht hilfts ja weiter.
Jürgen
Vielleicht hilfts ja weiter.

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
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Makroaufruf durch Button im Dialog
@ykcim
wie funktioniert das, das ich dem Button im Dialog per Makro die Eigenschaft zuweisen kann dass er ein anderes Makro (genauer gesagt eine andere Sub Funktion) aufruft?
liebe grüße
wie funktioniert das, das ich dem Button im Dialog per Makro die Eigenschaft zuweisen kann dass er ein anderes Makro (genauer gesagt eine andere Sub Funktion) aufruft?
liebe grüße
Re: Makroaufruf durch Button im Dialog
sorry fuer diesen alten Thread, aber genau das koennte ich auch gebrauchen 
vlt. mag mir jemand Antwort geben ?
lg Andreas

vlt. mag mir jemand Antwort geben ?
lg Andreas
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Makroaufruf durch Button im Dialog
siehe meine Antwort oben: dynamisch erstellte Dialoge benötigen die Zuweisung eines listeners mittels Code.
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)
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)
Re: Makroaufruf durch Button im Dialog
also eine direkte Zuweisung der Eigenschaft/Ereignisse bei click geht nicht ?
trotzdem danke, dann wohl doch mit Listener
trotzdem danke, dann wohl doch mit Listener
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Makroaufruf durch Button im Dialog
Die Zuweisung, die Du mittels Basic-(Dialog-)Editor machst, *ist* eine listener-Programmierung, welche aber die runtime-engine auflöst.
In der entsprechenden dialog.xdl sieht das so aus (Ausschnitt):
Erzeugst Du einen Dialog durch Code, dann musst Du den listener selbst programmieren.
Zu den Zeiten von OOo 2.2.x war es noch unbedingt nötig die listener auch wieder zu deakivieren - ansonsten kam es zu unvorhergesehenem Verhalten der gesamten Anwendung. Ob sich das in späteren Versionen geändert hat: k.A. - ich mache es sicherheitshalber immer noch.
Viel Erfolg!
In der entsprechenden dialog.xdl sieht das so aus (Ausschnitt):
Code: Alles auswählen
<dlg:button dlg:id="CommandButton1" dlg:tab-index="2" dlg:left="8" dlg:top="101" dlg:width="36" dlg:height="12" dlg:default="true" dlg:value="OK" dlg:button-type="ok">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:wr.x_wps.BTN_DokumentErzeugen?language=Basic&location=application" script:language="Script"/>
Zu den Zeiten von OOo 2.2.x war es noch unbedingt nötig die listener auch wieder zu deakivieren - ansonsten kam es zu unvorhergesehenem Verhalten der gesamten Anwendung. Ob sich das in späteren Versionen geändert hat: k.A. - ich mache es sicherheitshalber immer noch.
Viel Erfolg!
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)
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)
Re: Makroaufruf durch Button im Dialog
komma4 hat geschrieben:
Viel Erfolg!
Danke *knirsch

lg andreas