Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
736to740
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
736to740
736to740
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Einblenden Fenster 5 sekunden-Fehler

Einblenden Fenster 5 sekunden-Fehler
26.02.2006 12:32:10
Lars
Hallo Excel Spezialisten,
ich habe einen Code von Herber der für 5 sekunden ein Fenster einblenden soll:

Sub TempMsg()
Dim wsh As New IWshShell_Class
Dim sMsg As String, sTitle As String
sMsg = "Eine Anzeige für 5 Sekunden"
sTitle = "Message-Demo"
wsh.Popup sMsg, 5, sTitle, 7 + vbInformation
Set wsh = Nothing
End Sub

Beim kompilieren kommt die Fehlermeldung benutzerdefinierter Typ nicht definiert und zwar für IsWshShell_Class - wo ist der Fehler?
Vielen dank für die Hilfe
Lars

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einblenden Fenster 5 sekunden-Fehler
26.02.2006 14:04:35
K.Rola
Hallo,
bei deiner Variante muss ein Verweis auf die Bibliothek gesetzt sein.
So geht es auch ohne:

Sub Pop_up()
Dim objSh As Object, intMsg As Integer
Set objSh = CreateObject("WScript.Shell")
intMsg = objSh.Popup("Schließe in 3 Sekunden      ", 3, "weise hin...", 64)
End
End Sub

Gruß K.Rola
AW: Einblenden Fenster 5 sekunden-Fehler
26.02.2006 14:16:46
Lars
Hallo K.Rola,
danke für die Antwort - so geht es.
Trotzdem noch eine Frage: Kann man es auch so gestalten das der User gezwungen ist das zu lesen und nicht einfach mit ok oder esc abbrechen kann?
Vielen Dank
Lars
AW: Einblenden Fenster 5 sekunden-Fehler
26.02.2006 15:00:16
K.Rola
Hallo,
ich würde das mit einem Userform lösen, das z.B. beim Öffnen für die gewünschte Zeit
angezeigt wird. Wenn du ein Beispiel brauchst, nochmal melden.
Gruß K.Rola
Anzeige
AW: Einblenden Fenster 5 sekunden-Fehler
26.02.2006 15:19:17
Lars
Hallo K. Rola,
ein Beispiel wäre sehr nett, aber evt unnötig.
Um Escape zu verhindern wäre:

Sub Auto_open()
Application.EnableCancelKey = xlDisabled
frmMsg.Show
Application.Wait Now + TimeSerial(0, 0, 25)
'Unload Me
End Sub

wohl ganz nett?!
P.S. Ich habe so was aus einem Herber-Beispiel gebastelt, 146301v.xls, weiß aber nicht warum die Userform nicht per x (oben Rechts) zu beeenden ist (was mir ganz Recht ist) - woran liegt das, bzw. wo ist die Einstellung dafür?
Was das unload me soll weiss ich eigentlich auch nicht? Entläd das Modul?
Datei müßte im Anhang sein.
Gruß Lars
Anzeige
AW: Einblenden Fenster 5 sekunden-Fehler
26.02.2006 15:19:25
Lars
Hallo K. Rola,
ein Beispiel wäre sehr nett, aber evt unnötig.
Um Escape zu verhindern wäre:

Sub Auto_open()
Application.EnableCancelKey = xlDisabled
frmMsg.Show
Application.Wait Now + TimeSerial(0, 0, 25)
'Unload Me
End Sub

wohl ganz nett?!
P.S. Ich habe so was aus einem Herber-Beispiel gebastelt, 146301v.xls, weiß aber nicht warum die Userform nicht per x (oben Rechts) zu beeenden ist (was mir ganz Recht ist) - woran liegt das, bzw. wo ist die Einstellung dafür?
Was das unload me soll weiss ich eigentlich auch nicht? Entläd das Modul?
Datei müßte im Anhang sein.
Gruß Lars
Anzeige
AW: Einblenden Fenster 5 sekunden-Fehler
26.02.2006 15:57:10
Lars
Hi K. Rola,
deine Datei funktioniert wunderbar.
Frage: bekommt man alles in ein Auto_open makro? (Das man das Formular braucht ist klar.
Ich dachte immer ich kenne was von VBA aber ich erkenne gar nicht wo der Zusammenhang zwischen dem frmsg.show und dem Sub UF_Zu liegt? Ein Makro muß doch irgendwie aufgerufen werden? Der Unload nach des frmsg ist klar.
Bei dem was ich als Datzei angehängt habe dauert es immer länger, da muß was mit dem Now nicht stimmen - müßte wohl auch irgendwie entladen werden?
Ich fürchte ich weiß jetzt warum ich mich immer von Userforms ferngehalten habe.
Gruß Lars
Anzeige
AW: Einblenden Fenster 5 sekunden-Fehler
26.02.2006 16:06:35
K.Rola
Hallo,
Auto_Open() steht nur noch aus Gründen der Abwärtskompatibilität zur Verfügung uns
sollte bei Neuentwicklungen nicht mehr verwendet werden.
Im Modul von "DieseArbeitsmappe" steht:

Private Sub Workbook_Open()
frmMsg.Show 'Anzeige Userform
End Sub

Im Modul des Userforms steht:

Private Sub UserForm_Activate()
Call UF_zu
End Sub

Dadurch wird das Makro im Modul1 aufgerufen:
Sub UF_zu()
Application.EnableCancelKey = xlDisabled
Application.Wait Now + TimeSerial(0, 0, 5) 'Wartezeit
Unload frmMsg 'Userform entladen
Application.EnableCancelKey = xlInterrupt
End Sub
Gruß K.Rola
Anzeige
AW: Einblenden Fenster 5 sekunden-Fehler
26.02.2006 16:26:46
Lars
Hi K. Rola,
danke, jetzt habe ich auch den Code zum Formular gefunden - ich arbeite wie gesagt sonst nicht damit.
Das mit dem Auto_open hatte ich noch nicht gehört - werde es in Zukunft beherzigen obwohl es ja noch unterstützt wird.
Vielen Dank für Deine Hilfe und noch einen schönen Sonntag.
Gruß Lars

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige