Seite 1 von 1
[gelöst]Hinweisfenster "Bitte warten!" anzeigen
Verfasst: Do, 13.07.2006 14:14
von Zoidberg
Ich habe mein Makro jetzt schon ziemlich weit fertig. Da es Daten aus anderen Tabellen bezieht dauert die Abarbeitung natürlich etwas. Das sieht man leider nicht, also hat ein "unwissender" das Gefühl es passiert nichts. Aus diesem Grund möchte ich solange das Makro läuft ein Fenster mit einem Hinweis anzeigen.
Dialoge unterbrechen ja den Programmablauf des Makros. Wie kann ich das realisieren? Ich wollte ein Formular nehmen, aber ich bekomm es nicht hin ein freistehendes Fenster dafür zu erstellen. Geht das überhaupt? An sich fänd ich einen Dialog schon ganz angenehm von der Optik her.
Was kann ich tun?
Danke !
Gruß, Zoidberg
Verfasst: Do, 13.07.2006 15:46
von komma4
Anzeige eines Fortschrittbalkens in der Statuszeile?
Verfasst: Do, 13.07.2006 15:51
von Zoidberg
Ich selbst schau selten auf die Statuszeile. Ich denke das geht vielen so. Ein Fenster in der Mitte wäre die bessere Lösung.
Verfasst: Do, 13.07.2006 15:58
von ykcim
Hallo,
starte das Makro in einem Dialog. Es gibt einen Forrtschrittsbalken. Diesen kannst Du verwenden und den Dialog zum Schluß automatisch schließen.
mfg
Michael
Verfasst: Do, 13.07.2006 16:05
von Zoidberg
Das heißt ich mach den Dialogstarter als eigenes Sub, und rufe darin einfach das Makro auf? Das werd ich gleich mal Probieren. Mit dem Fortschrittsbalken hab ich noch keine Erfahrung. Woher bekommt der denn dann seine Werte?
Danke auf jeden Fall schonmal!
Verfasst: Do, 13.07.2006 16:12
von ykcim
Richtig. Ein Makro für den Dialog und ein dort ein Button für das eigentliche Makro.
Hier ein Mustercode. Ich habe gerade diese Woche was dazu schreiben müssen.
Code: Alles auswählen
dim mydlg as object
sub start
Dialoglibraries.Loadlibrary("Standard")
MyDlg= CreateUnoDialog(Dialoglibraries.Standard.Dialog1)
MyDlg.execute()
end sub
sub makro
myctrl=myDlg.getControl("ProgressBar1")
'Festsetzen des Maximalwertes
myctrl.model.ProgressValueMax=100
for i=0 to 100
'....
'Der Fortschritt
myctrl.value=i
next i
mydlg.endexecute()
end sub
mfg
Michael
Verfasst: Do, 13.07.2006 16:57
von Zoidberg
Super genial! Das ist jetzt sogar noch besser als ich es geplant hatte. Das mit dem ProgressBar ist der Hammer. Danke dafür!