BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Variablen an Dialoge übergeben
Variablen an Dialoge übergeben
Hallo zusammen,
suche gerade nach einer Möglichkeit Variablen von Makros an Dialoge zu übergeben.
Szenario:
Starte einen neuen Dialog mit Hilfe eines Makros (CreateUnoDialog), übergebe eine(mehrere) Variable(n).
Rufe aus dem Dialog ein weiteres Makro auf.
Möchte die Variablen gern "durch reichen".
Geht das überhaupt?
....
suche gerade nach einer Möglichkeit Variablen von Makros an Dialoge zu übergeben.
Szenario:
Starte einen neuen Dialog mit Hilfe eines Makros (CreateUnoDialog), übergebe eine(mehrere) Variable(n).
Rufe aus dem Dialog ein weiteres Makro auf.
Möchte die Variablen gern "durch reichen".
Geht das überhaupt?
....
Re: Variablen an Dialoge übergeben
Hallo Alex,
es gibt verschiedene Möglichkeiten Variable zu deklarieren.
Siehe hier...
Von Global deklarierten Variablen iwrd aber im allgemeinen abgeraten, weil:
"Diese Variable bleibt während die gesamte LibreOffice-Sitzung gültig!"
es gibt verschiedene Möglichkeiten Variable zu deklarieren.
Siehe hier...
Von Global deklarierten Variablen iwrd aber im allgemeinen abgeraten, weil:
"Diese Variable bleibt während die gesamte LibreOffice-Sitzung gültig!"
Gruß
Craig
Nie die Sicherungskopie vergessen!
════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8
Craig
Nie die Sicherungskopie vergessen!
════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8
Re: Variablen an Dialoge übergeben
Hi Craig,
danke für den Hinweis. Stimmt globale Variablen sind nicht so richtig schön. Aber wie übergebe ich bloß die Variablen in den Dialog?
Übergabe von Prozedur zu Prozedur, bzw. Funktion ist soweit klar.
danke für den Hinweis. Stimmt globale Variablen sind nicht so richtig schön. Aber wie übergebe ich bloß die Variablen in den Dialog?
Übergabe von Prozedur zu Prozedur, bzw. Funktion ist soweit klar.
Re: Variablen an Dialoge übergeben
Hallo Alex,
pauschal läßt sich dies nicht beantworten.
Einem Dialog kann man keine Variablen übergeben, da dies nur ein Container für andere Steuerelemente ist.
Wie wäre es wenn Du mal einen Beipsielcode postest?
pauschal läßt sich dies nicht beantworten.
Einem Dialog kann man keine Variablen übergeben, da dies nur ein Container für andere Steuerelemente ist.
Wie wäre es wenn Du mal einen Beipsielcode postest?
Gruß
Craig
Nie die Sicherungskopie vergessen!
════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8
Craig
Nie die Sicherungskopie vergessen!
════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8
Re: Variablen an Dialoge übergeben
Hallo,
wenn ich mich Recht erinnere hat Mal jemand Informationen in die Eigenschaften des aufrufenden Buttons kodiert, an den die Macro-Auslösung gehängt würde.
Mfg, Jörn.
wenn ich mich Recht erinnere hat Mal jemand Informationen in die Eigenschaften des aufrufenden Buttons kodiert, an den die Macro-Auslösung gehängt würde.
Mfg, Jörn.
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit
Re: Variablen an Dialoge übergeben
Hi Craig,
zur Zeit nutze ich ein Makro, um eine Datenbankabfrage auzuführen und das Ergebnis als Tabelle in einem Dialog darzustellen.
Gute Sache, hier ist beschrieben, wie das mit Tabellen in Dialogen geht:
http://www.mic-consulting.de/de/artikel ... table-grid
Nun würde ich gern das Ergebnis mit einer Filterfunktion erweitern. Also ein Eingabefeld im Dialog, um damit den sql-Befehl neu "zu füttern".
Die Variable, die ich vom Makro brauche ist der sql Befehl selbst.
Der Dialog bliebe so stehen, und der Tabelleninhalt würde über ein Makro neu eingelesen.
Wenn der Dialog "weiß" welches Makro ihn aufgerufen hat, bzw. wenn ich irgendwie an die Variablen des laufenden Makros herankomme, wäre mir geholfen. Der Dialog wird ja aus dem Makro heraus gestartet. Und solange er existiert, läuft das Makro noch.
Was ginge, wäre den Dialog zu beenden und einen neuen zu erzeugen. Wenn ich ihn beende, läuft das Makro weiter und ich habe Zugriff auf die Variablen.
Schöner wäre jedoch ihn "stehen zu lassen" und nur die Daten auszutauschen.
Grüße
Alex
zur Zeit nutze ich ein Makro, um eine Datenbankabfrage auzuführen und das Ergebnis als Tabelle in einem Dialog darzustellen.
Gute Sache, hier ist beschrieben, wie das mit Tabellen in Dialogen geht:
http://www.mic-consulting.de/de/artikel ... table-grid
Nun würde ich gern das Ergebnis mit einer Filterfunktion erweitern. Also ein Eingabefeld im Dialog, um damit den sql-Befehl neu "zu füttern".
Die Variable, die ich vom Makro brauche ist der sql Befehl selbst.
Der Dialog bliebe so stehen, und der Tabelleninhalt würde über ein Makro neu eingelesen.
Wenn der Dialog "weiß" welches Makro ihn aufgerufen hat, bzw. wenn ich irgendwie an die Variablen des laufenden Makros herankomme, wäre mir geholfen. Der Dialog wird ja aus dem Makro heraus gestartet. Und solange er existiert, läuft das Makro noch.
Was ginge, wäre den Dialog zu beenden und einen neuen zu erzeugen. Wenn ich ihn beende, läuft das Makro weiter und ich habe Zugriff auf die Variablen.
Schöner wäre jedoch ihn "stehen zu lassen" und nur die Daten auszutauschen.
Grüße
Alex
Re: Variablen an Dialoge übergeben
Hi Jörn,
ja stimmt, so ein Feld gibt es. Nennt sich "Zusatzinformation" und lässt sich im Makro auslesen.
Aber wie gesagt, muss erstmal im Dialog an die Variable herankommen.
Gruß Alex
ja stimmt, so ein Feld gibt es. Nennt sich "Zusatzinformation" und lässt sich im Makro auslesen.
Code: Alles auswählen
InfoTag = oEvent.Source.Model.Tag
Gruß Alex
Re: Variablen an Dialoge übergeben
Habe das also jetzt mit dem Tag des Dialogs gelöst. D.h. ein Macro schreibt den Inhalt meiner Stringvariablen in das Tag des Dialogs. In meinem Fall mit
dem Trenner ;
Ein anderes Macro liest das Tag aus, splittet die Stringkette auf und packt sie in ein Array, welches dann weiterverarbeitet wird.
So richtig schön ist das nicht.
Die andere Lösung ginge mit globalen Variablen, aber die sind ja nicht schön.
Auch kann ich so nur Stringvariablen benutzen,
dem Trenner ;
Ein anderes Macro liest das Tag aus, splittet die Stringkette auf und packt sie in ein Array, welches dann weiterverarbeitet wird.
Code: Alles auswählen
stTag = glob_oDialog.Model.Tag
var() = Split(stTag, ";")
Die andere Lösung ginge mit globalen Variablen, aber die sind ja nicht schön.
Auch kann ich so nur Stringvariablen benutzen,
An alle, die das LibreOffice-Forum nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️