Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1324to1328
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
UserForm in Code einfügen
14.08.2013 14:03:00
Rebecca
Hallo liebe Excel-Gemeinde,
wie bringe ich anstatt diesem PopUp eine UserForm zur Anzeige? Und zwar soll diese 2 Sekunden angezeigt werden und dann soll der Ablauf von diesem Code weitergehen (also Datei bleibt noch 20 Sekunden geöffnet und dann schließt sich diese erst).
Denn mit dieser PopUp Variante, wartet der Code erst ab, bis auf OK geklickt wurde und dann schließt sich die Datei erst nach 20 Sekunden. Und genau das möchte ich nicht, weil dann der User andere Anwender blockiert.
Option Explicit
Public dteCloseTime As Date, blnCloseNow As Boolean
Public Sub DoClose()
Dim strMsg As String
If blnCloseNow = False Then
strMsg = "Diese Datei wurde seit 3 Minuten nicht bearbeitet und" & vbCrLf & _
"wird bei weiterer Inaktivität in 20 Sekunden geschlossen."
CreateObject("WScript.Shell").PopUp strMsg, 10, ThisWorkbook.Name, _
vbOKOnly + vbInformation + vbSystemModal
blnCloseNow = True
dteCloseTime = Now + TimeSerial(0, 0, 20)
Application.OnTime dteCloseTime, "DoClose"
Else
If Workbooks.Count = 1 Then
Application.DisplayAlerts = False
Application.Quit
Else
ThisWorkbook.Close False
End If
End If
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm in Code einfügen
14.08.2013 14:29:54
Luschi
Hallo Rebecca,
wenn Du es so schreibst, schließt die PopUpBox auch nach 2 Sekunden:

Dim WshShell As Object, result
Set WshShell = CreateObject("WScript.Shell")
result = WshShell.PopUp("This is a popup box!", 2, "Title", 64)
Set WshShell = Nothing
. Da das Excel-Formular im Gegensatz zum Access-Formular keinen eigenen Timerprozeß hat, wird es schwierig beim Formular. Sicher wird es mit viel API-Funktionalität möglich sein; aber wozu bei 2 Sekunden!
Gruß von Luschi
aus klein-Paris

AW: UserForm in Code einfügen
14.08.2013 15:09:26
Rebecca
Hi Luschi,
danke für Deine Antwort.
Wenn ich den Code bei mir einfüge, dann schließt sich die Box jedoch nicht automatisch. Ich muss immer erst auf OK klicken und dann wird gleich die ganze Datei geschlossen. Klicke ich sofort auf OK, sobald das PopUp erscheint, dann beendet sich die Datei erst nach den 20 Sekunden.
Der Code sieht nun so aus:
Option Explicit
Public dteCloseTime As Date, blnCloseNow As Boolean
Public Sub DoClose()
Dim WshShell As Object, result
Set WshShell = CreateObject("WScript.Shell")
If blnCloseNow = False Then
result = WshShell.PopUp("This is a popup box!", 2, "Title", 64)
Set WshShell = Nothing
blnCloseNow = True
dteCloseTime = Now + TimeSerial(0, 0, 20)
Application.OnTime dteCloseTime, "DoClose"
Else
If Workbooks.Count = 1 Then
Application.DisplayAlerts = False
Application.Quit
Else
ThisWorkbook.Close False
End If
End If
End Sub

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige