dialog ohne oo starten?
Moderator: Moderatoren
dialog ohne oo starten?
hallo,
ich habe für eine calc tabelle einen dialog geschrieben, der den nutzer durch verschiedene aktionen führt.
bisher habe ich es so gehalten, das ich den dialog einfach beim öffnen des calc dokumentes mitstarten lasse.
schöner wäre es natürlich, wenn ich nur den dialog starten könnte (oder das makro welches den dialog aufruft), bzw. das eigentliche calc fenster ausblenden könnte, so dass nur noch der dialog sichtbar wäre.
ich hoffe ich habe halbwegs verständlich rübergebracht was ich machen möchte.
ist sowas möglich?
danke schonmal
inqui
ich habe für eine calc tabelle einen dialog geschrieben, der den nutzer durch verschiedene aktionen führt.
bisher habe ich es so gehalten, das ich den dialog einfach beim öffnen des calc dokumentes mitstarten lasse.
schöner wäre es natürlich, wenn ich nur den dialog starten könnte (oder das makro welches den dialog aufruft), bzw. das eigentliche calc fenster ausblenden könnte, so dass nur noch der dialog sichtbar wäre.
ich hoffe ich habe halbwegs verständlich rübergebracht was ich machen möchte.
ist sowas möglich?
danke schonmal
inqui
Re: dialog ohne oo starten?
Hallo,
ich bins nochmal.
Ich habe bei meinen Tests folgendes erreicht:
Wenn ich diesen Code mit dem Ereignis "Dokument öffnen" verknüpfe passiert genau das was ich will: Nur noch der Dialog ist sichtbar.
Dazu hätte ich noch zwei weitere Fragen:
1. Wenn das Calc-Dokument geöffnet wird, wird dieses zuerst noch kurz angezeigt, dann springt das Makro an und das Dokument verschwindet. Gibt es eine Möglichkeit, dass das Calc-Dokument auch nicht beim Starten angezeigt wird, sondern tatsächlich direkt der Dialog? (Habe schon versucht das Makro dem Ereignis "Programmstart" zuzuweisen, aber passiert leider gar nichts)
2. Gibt es für einen Dialog ein Ereignis "Dialog Ende", dem ich ein Makro zuweisen könnte? Hintergrund ist natürlich, dass ich beim schliessen des Dialogs ein weiteres Makro ausführen möchte. In den Ereignissen, die in den Eigenschaften des Dialogs stehen, habe ich leider nichts dergleichen gefunden.
wäre nach wie vor für jede Hilfe dankbar
inqui
ich bins nochmal.
Ich habe bei meinen Tests folgendes erreicht:
Code: Alles auswählen
thiscomponent.getCurrentController().getFrame().getContainerWindow().setVisible(false)
Dazu hätte ich noch zwei weitere Fragen:
1. Wenn das Calc-Dokument geöffnet wird, wird dieses zuerst noch kurz angezeigt, dann springt das Makro an und das Dokument verschwindet. Gibt es eine Möglichkeit, dass das Calc-Dokument auch nicht beim Starten angezeigt wird, sondern tatsächlich direkt der Dialog? (Habe schon versucht das Makro dem Ereignis "Programmstart" zuzuweisen, aber passiert leider gar nichts)
2. Gibt es für einen Dialog ein Ereignis "Dialog Ende", dem ich ein Makro zuweisen könnte? Hintergrund ist natürlich, dass ich beim schliessen des Dialogs ein weiteres Makro ausführen möchte. In den Ereignissen, die in den Eigenschaften des Dialogs stehen, habe ich leider nichts dergleichen gefunden.
wäre nach wie vor für jede Hilfe dankbar
inqui
Re: dialog ohne oo starten?
Hallo!
...das OO beim Start gar nicht sichtbar ist - hab ich noch nicht hinbekommen - da suche ich auch noch
denn sogar wenn ich einer ods - Verknüpfung die Anweisung gebe ...Ausführen...minimiert... wird das ignoriert -
zu 2. hab ich nicht ganz verstanden - einem Abbrechen-Button für schließen kann ja ein Makro zugewiesen werden -
und wenn Du deinen Dialog über ein Makro aufrufts
sowas wie
iRet=dlgMain.execute
dann geht nach dem Schließen die Ausführung da weiter - mit der Info wie geschlossen wurde.
...das OO beim Start gar nicht sichtbar ist - hab ich noch nicht hinbekommen - da suche ich auch noch
denn sogar wenn ich einer ods - Verknüpfung die Anweisung gebe ...Ausführen...minimiert... wird das ignoriert -
zu 2. hab ich nicht ganz verstanden - einem Abbrechen-Button für schließen kann ja ein Makro zugewiesen werden -
und wenn Du deinen Dialog über ein Makro aufrufts
sowas wie
iRet=dlgMain.execute
dann geht nach dem Schließen die Ausführung da weiter - mit der Info wie geschlossen wurde.
thx!
OO3.1/MySql-Connector/Linux 2.6.30/SuSE/(nur bis)XP John.M
OO3.1/MySql-Connector/Linux 2.6.30/SuSE/(nur bis)XP John.M
Re: dialog ohne oo starten?
Hallo John.Mops
Ja, für mein zweites Problem war das genau das was ich gesucht habe ...
Ich mache das jetzt so
funktioniert prima 
Bei dem anderen Thema scheine ich ja dann nicht der einzige zu sein, der nach einer Lösung sucht.
Solltest du noch was finden ... sei doch so nett und poste es hier
danke nochmal für die schnelle Antwort
bis dann
inqui
Ja, für mein zweites Problem war das genau das was ich gesucht habe ...
Ich mache das jetzt so
Code: Alles auswählen
result = dlgmaske.execute
if result = 0 then
"Programmcode"
end if

Bei dem anderen Thema scheine ich ja dann nicht der einzige zu sein, der nach einer Lösung sucht.
Solltest du noch was finden ... sei doch so nett und poste es hier

danke nochmal für die schnelle Antwort
bis dann
inqui
Re: dialog ohne oo starten?
kurzer Zwischenstand...
...tja, wenn ich das so richtig verstanden habe,
gehört das in die Abteilung - nächter Level - will sagen Java/NetBeans ..?
...tja, wenn ich das so richtig verstanden habe,
gehört das in die Abteilung - nächter Level - will sagen Java/NetBeans ..?
thx!
OO3.1/MySql-Connector/Linux 2.6.30/SuSE/(nur bis)XP John.M
OO3.1/MySql-Connector/Linux 2.6.30/SuSE/(nur bis)XP John.M
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: dialog ohne oo starten?
Also, hier geht das Starten des Dialogs wie gewünscht
Sollte auch mit einem per Editor erzeugten Dialog funktionieren.
Eingabe auf der Kommandozeile
Syntax: Bibliothek.Modul.Makroname
Das war doch die Ausgangsfrage, oder nicht?
- * Starten von OOo unter Mitgabe eines Makros (kein Logo, kein Startcenter, kein Dokument)
* das Makro erzeugt zur Laufzeit einen Dialog
** ABBRECHEN schliesst den Dialog -> kein Startcenter, OOo beendet
** SCHALTFLÄCHE, die andersweitig reagiert -> Dokument aus Vorlage, gewählte Werte aus Dialog reinschreiben, usw.
Sollte auch mit einem per Editor erzeugten Dialog funktionieren.
Eingabe auf der Kommandozeile
Code: Alles auswählen
soffice -nologo "macro:///dynD.Module.startDialog"
Das war doch die Ausgangsfrage, oder nicht?
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: dialog ohne oo starten?
Hallo komma4,
Erstmal danke für den HInweis, bringt mich auf jeden Fall in die richtige Richtung.
nur ist meinem Fall das Makro in der .ods gespeichert.
Wenn ich nun folgendes versuche:wird zwar mein Calc-Sheet gestartet und das Makro auch automatisch ausgeführt, welches das Sheet auf unsichtbar schaltet, doch zu sehen ist es beim Start trotzdem kurz. Das ist auch nicht weiter tragisch - ändert ja schliesslich nichts an der Funktionalität - aber sollte der Schalter "-invisible" nicht dafür sorgen, dass das Sheet unsichtbar gestartet wird?
nochmal danke für die rasche Hilfe
inqui
Erstmal danke für den HInweis, bringt mich auf jeden Fall in die richtige Richtung.
nur ist meinem Fall das Makro in der .ods gespeichert.
Wenn ich nun folgendes versuche:
Code: Alles auswählen
soffice.exe -invisible "meine_ods.ods" "makro:///Standard.Modul1.meinmakro"
nochmal danke für die rasche Hilfe
inqui
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: dialog ohne oo starten?
a) lt. Hilfe erzeugt -invisible "no GUI" - das konterkarierst Du dann wieder durch die Mitgabe des Calc-Dateinamens... IMHO ist der Schalter für reine Batch-/Hintergrundaufgaben gedacht.inqui hat geschrieben:nur ist meinem Fall das Makro in der .ods gespeichert.
[...]soffice.exe -invisible "meine_ods.ods" "makro:///Standard.Modul1.meinmakro"
b) Dein Dialog MUSS nicht in der Calc-Datei hinterlegt ein ... erstelle eine Extension (Code und Dialog) und verteile diese über einen (Web-)Server. Dann klappt auch der gepostete Aufruf ohne Dateiname.
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)