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!