Startup Screen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Startup Screen
von: Micha
Geschrieben am: 12.11.2003 07:52:05

Hallo,

möchte gern eine Userform als eine Art Startbild erstellen, die nach 5 sec. ausgeblendet wird und danach die eigentliche Userform zum Bearbeiten eingeblendet wird. Oder vielleicht etwas ähnliches in der Art.

Danke schonmal
Micha

Bild


Betrifft: AW: Startup Screen
von: Carsten
Geschrieben am: 12.11.2003 08:04:32

Hallo Micha,


Sub Auto_open()
UserForm1.Show vbModeless
Application.Wait (Now + TimeValue("0:00:5"))
UserForm1.Hide
UserForm2.Show
End Sub


So sollte es gehen.

Gruß
Carsten


Bild


Betrifft: Cool, das ging aber schnell!
von: Micha
Geschrieben am: 12.11.2003 08:10:34

Hi Carsten,

danke für die schnelle Antwort. Da ich ein Newbie bin, was bedeutet vbModeless? Kannst du mir eventuell noch sagen, wie ich den Startbildschirm ohne Titelleiste ... darstellen kann?

Dankeschön
Micha


Bild


Betrifft: AW: Startup Screen
von: Micha
Geschrieben am: 12.11.2003 08:22:23

Und nochmal ich!

Momentan ist es so, das ich eine Excel-Tab. starte (in der sind auch alle für die userform relevanten Daten) und gleich nach diesem Start wird die Tab von meiner Userform überblendet. So 2 sec. sieht man aber die Excel-Tab. Kann man das irgendwie anders lösen?? Muß den Startbildschirm notgedrungener Maßen so groß machen wie den Computerbildschirm, damit die Tab nicht zu sehen ist. Ein kleinerer Startup wäre mir lieber gewesen. Vielleicht geht es ja irgendwie.

Gruß Micha


Bild


Betrifft: AW: Startup Screen
von: Carsten
Geschrieben am: 12.11.2003 08:34:53

Hallo Micha,

bring doch einfach eine leere Seite nach vorne. Die kannst Du dann so formatieren wie Du willst (graue Fläche, Hinweistest o.ä.). Dann sieht niemand die Daten.

Das mit der Userform ohne Titelleiste funktioniert so:


Private Sub UserForm_Initialize()
    Call FensterOhneKopf
End Sub


Sub FensterOhneKopf()
Dim Abmessung As RECT
Dim Abmessung1 As RECT
Dim Pos1x&, Pos1y&, Pos2x&, Pos2y&
If FensterRegion <> 0 Then Exit Sub
UserForm1.BorderStyle = fmBorderStyleSingle
Call Fensternummer(UserForm1, Abmessung, Abmessung1)
Pos1x = 0
Pos1y = (Abmessung1.Top - Abmessung.Top)
Pos2x = Abmessung.Right - Abmessung.Left
Pos2y = Abmessung.Bottom - Abmessung.Top
Region = CreateRectRgn(Pos1x, Pos1y, Pos2x, Pos2y)
FensterRegion = SetWindowRgn(Hauptfensternummer, Region, True)
End Sub


'Fensterhandles und Infos über Fenster holen

Private Sub Fensternummer(Form As Object, Abmessung As RECT, Abmessung1 As RECT)
    Dim Fenstername$, Suchstring$
    Suchstring = "UserForm ohne Titelzeile"
    Fenstername = Form.Caption
    Form.Caption = Suchstring
    Hauptfensternummer = FindWindow(vbNullString, Suchstring)
    Form.Caption = Fenstername
    Clientfensternummer = GetWindow(Hauptfensternummer, GW_CHILD)
    dummy = GetWindowRect(Hauptfensternummer, Abmessung)
    dummy = GetWindowRect(Clientfensternummer, Abmessung1)
End Sub


'Folgendes ist notwendig, um die Form ohne Titelleiste zu verschieben
'

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, _
'ByVal X As Single, ByVal Y As Single)
'    If Button = 1 Then
'        If Hauptfensternummer <> 0 Then
'            dummy = ReleaseCapture()
'            dummy = SendMessage(Hauptfensternummer, WM_NCLBUTTONDOWN, HTCAPTION, 0)
'        End If
'    Else
'        Unload UserForm1 ' Zum schließen, beim ausprobieren.
'    End If
'End Sub



Private Sub CoEnde_Click()
    Unload Me
End Sub


Dieser Code ist, soweit ich weiß von Hajo.

Gruß
Carsten


Bild


Betrifft: Dankeschön
von: Micha
Geschrieben am: 12.11.2003 09:33:09

Hallo Carsten,

dankeschön für das Makro, bin sicher, das mir das weiterhelfen wird. Schön das es das Forum hier gibt und das so erfahrene User wie du, Newbies wir mir weiterhelfen.

Gruß Micha


Bild


Betrifft: Jetzt werd' ich aber rot...
von: Carsten
Geschrieben am: 12.11.2003 09:37:07

Alles was Du da eben von mir bekommen hast, habe ich selber in einer meiner Dateien verarbeitet, allerdings habe ich das auch alles von den Könnern hier im Forum bekommen.

Gruß
Carsten


Bild


Betrifft: AW: Jetzt werd' ich aber rot...
von: Micha
Geschrieben am: 12.11.2003 09:57:16

Hab nur noch eine Frage. Hatte sie vorhin schon gepostet, hast sie wahrscheinlich nicht gelesen. Ich möchte mich ja auch ständig auf dem Gebiet Vba weiterbilden. Kannst du mir erklären, was vbModeless bedeutet?

Dank Dir und noch nen schönen Tag!
Micha


Bild


Betrifft: AW: Frag' mal Karl Klammer...
von: Galenzo
Geschrieben am: 12.11.2003 10:41:52

Hallo,
zu vbModeless findest du in der Microsoft-Hilfe ausführliche Erläuterungen.
Drück'ma F1 !

(btw. - modeless: Formular ist ungebunden, d.h. Code wird weiter ausgeführt...)


Bild


Betrifft: AW: Frag' mal Karl Klammer...
von: Micha
Geschrieben am: 12.11.2003 10:50:36

Hab schon in der Hilfe nachgeschaut, hab da aber nichts gefunden. Hätte sonst sicher hier nicht gepostet. Trotzdem danke...


Bild


Betrifft: Gibt es nicht!
von: Micha
Geschrieben am: 12.11.2003 11:55:02

Hi Galenzo,

also ich habe nochmal in der Hilfe nachgeschaut, aber unter Excel 97 gibt es den Befehl nicht. Wird der trotzdem unterstützt? (Konnte es noch nicht austesten)Gibt es ne Alternative zu diesen Befehl, der in 97 läuft??

Gruß Micha


Bild


Betrifft: AW: Gibt es nicht - stimmt, erst ab 2000
von: Galenzo
Geschrieben am: 12.11.2003 12:36:47

jep - gibt's erst ab Excel2000 - schade.


Bild

Beiträge aus den Excel-Beispielen zum Thema " durch schaltfläche akt.Sheet als email versenden"