Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
388to392
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
388to392
388to392
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makroaufruf verzögern?!

Makroaufruf verzögern?!
27.02.2004 11:25:50
Andre
Guten Morgen,
hat jemand ´ne Idee wie ich meinen Code um Millisekunden verzögern kann?
Die Userform soll lediglich eine Statusmeldung sein und gleichzeitig soll das Makro "DruckBeleg" ausgeführt werden. Ohne Verzögerung wird die Userform noch nicht richtig angezeigt bevor das Makro gestartet wird, also brauche ich eine Verzögerung, aber es muß ja nicht gleich ´ne ganze Sekunde sein, vermute ich.
Es würde wahrscheinlich auch eine Verzögerung von einigen Millisekunden ausreichen.
Hier der Code:

Private Sub UserForm_Activate()
If Application.Wait(Now + TimeValue("0:00:01")) Then
Call DruckBeleg
Druck.Hide
End If
End Sub


Gruß Andre

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makroaufruf verzögern?!
27.02.2004 11:33:38
Ramses
Hallo
Check ich nicht ganz.
Es kommt doch sowieso eine STatusmeldung von EXCEL dass gedruckt wird, und ich glaube der benutzer wird in ein paar Millisekunden deine Info nicht lesen können.
Anyway:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMS As Long)

Private Sub UserForm_Activate()
Sleep 50 ' wartet 50 Millisekunden
Call DruckBeleg
Druck.Hide
End Sub


Gruss Rainer
AW: Makroaufruf verzögern?!
27.02.2004 11:50:48
Andre
Hi Rainer,
also ich lasse die Benutzer meiner Datei ausschließlich auf UserFormen arbeiten und übergebe die Druckangelegenheiten an Word, daher kommt von Excel keine Druckmeldung!
Dein Tip mit Sleep hat leider nichts gebracht, das Makro wird schon ausgeführt obwohl die Userform nicht richtig angezeigt wird!
Gruß Andre
Anzeige
AW: Makroaufruf verzögern?!
27.02.2004 11:55:58
Ramses
Hallo
weisst du wie lange 50 Millisekunden sind ;-)
Erhöhe den Wert auf 500
Gruss Rainer
AW: Makroaufruf verzögern?!
27.02.2004 12:16:24
Andre
Herzlichen Dank! :-)
Schon geschehen, aber auch bei "Sleep 1000", was eigentlich dasselbe sein sollte wie "If Application.Wait(Now + TimeValue("0:00:01")) Then", nicht derselbe Effekt!
Es dauert einfach zu lange bis die Userform vollständig sichtbar ist! Offensichtlich ist eine Userform "Activate" bevor sie richtig sichtbar ist!
mfg Andre
AW: Makroaufruf verzögern?!
27.02.2004 12:23:28
Ramses
Hallo
ich habe natürlich keine Ahnung wie deine UF aufgebaut ist, aber was sich sicher weiss, dass
If Application.Wait(Now + TimeValue("0:00:01")) Then
nicht geht. Die Anweisung kann nur lauten
Application.Wait(Now + TimeValue("0:00:01"))
Dann wartet EXCEL 1 Sekunde. Was willst du mit der IF-Bedingung denn vergleichen ??? ;-)
Gruss Rainer
Anzeige
AW: Makroaufruf verzögern?!
27.02.2004 12:39:10
Andre
Klar geht das! Versuch´s noch mal!
Aber ich denke, dass genau da der Unterschied ist, denn mit meiner Version der "Wait-Methode" funktioniert´s ja!
Erst ist die Userform sichtbar und dann wird das Makro ausgeführt! Kein Problem, hätte mir nur gewünscht, dass auch Millisekunden mit diesem Befehl möglich wären, dann bräuchte ich keine ganze Sekunde warten lassen. Das scheint wohl aber nicht möglich zu sein, Schade.
Mit Sleep scheint es auf jeden Fall nicht hinzuhauen!
Gruß Andre
Denkfehler meinerseits....
27.02.2004 12:51:40
Ramses
Hallo Andre
... klar funktioniert das.
Gruss Rainer

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige