Datei öffnet so langsam

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

Betrifft: Datei öffnet so langsam von: Reinhard
Geschrieben am: 19.03.2005 21:52:55

Hallo Wissende,
dank Nepumuk ransi Hajo u.a. habe ich jetzt meine Datei zum Laufen gebracht, sogar mit einem Klassenmodul drinnen *freu*
Ich habe excel2000, kann mal bitte jmd die Datei testen ob sie auch auf XL97 läuft und auch auf Xl2000?
Mch würde sehr interessieren ob sie sauber nach Beendigung alle Symbolleisten wieder so einstellt wie die Datei sie vorfand, nicht dass ich da jemandem seine Symbolleisten zerschiesse:-(
Passieren tut in der Datei noch nicht viel, in einer eigen Symbolleiste kann man Grundeinstellungen in der Tabelle vornehmen, wie Zeilenfarben ändern und Symbolleisten ein/ausblenden.
Die Sanduhr bleibt beim Start der Datei fast 6 Sekunden stehen (mein rechner hat 450 MHz), obwohl die Ausführung des Workbook_Opens Ereignisses nich mal ne Sekunde dauert, siehe Zellenbereich A1:A3. Kann ich das irgendwie beschleunigen bzw was passiert in den 6 Sekunden?
Im Anhang ist die Datei und der Code von Workbook_Open und der 2 Subs die dort aufgerufen werden. In Worksheets("Einstellungen").Range("A7") steht "wahr" oder "falsch".
Danke
Reinhard
Die Datei: https://www.herber.de/bbs/user/19885.xls


Private Sub Workbook_Open()
Application.ScreenUpdating = False
[A1] = Timer
Call Umblenden(Worksheets("Einstellungen").Range("A7"))
[A2] = Timer
Call Eigene_Leiste
[A3] = Timer
Application.ScreenUpdating = True
End Sub
Sub Eigene_Leiste()
On Error Resume Next
Application.CommandBars("Eigene Symbolleiste").Delete
Set cbar1 = Application.CommandBars.Add("Eigene Symbolleiste", msoBarFloating, False, True)
cbar1.Visible = True
    Set EigeneSL = Application.CommandBars("Eigene Symbolleiste")
    With cbar1
        .Controls.Add Type:=msoControlButton
        .Controls.Add Type:=msoControlButton
        .Controls.Add Type:=msoControlButton
        .Position = msoBarTop
        With .Controls(1)
            .FaceId = 8
            .OnAction = "HauptUF"
            .TooltipText = "Tabellengrundeinstellungen"
        End With
        With .Controls(2)
            .FaceId = 8
            .OnAction = "HauptUF"
            .TooltipText = "Mein Makro"
        End With
        With .Controls(3)
            .FaceId = 49
            .OnAction = "Hilfe"
            .TooltipText = "Hilfe"
        End With
    End With
End Sub
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
    (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
    (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Enum constats
    GWL_STYLE = -16
    WS_CAPTION = &HC00000
End Enum
Public Sub Umblenden(ByVal bolOnOff As Boolean)
Dim myCommandBar As CommandBar
Dim lnghWnd As Long, lngStyle As Long
On Error Resume Next
lnghWnd = FindWindow("XLMAIN", vbNullString)
If lnghWnd <> 0 Then
    lngStyle = GetWindowLong(lnghWnd, GWL_STYLE)
    If bolOnOff Then
        lngStyle = lngStyle Or WS_CAPTION
    Else
        lngStyle = lngStyle And Not WS_CAPTION
    End If
    SetWindowLong lnghWnd, GWL_STYLE, lngStyle
    DrawMenuBar lnghWnd
End If
With Application
    '.ScreenUpdating = False
    .DisplayStatusBar = bolOnOff
    .DisplayFormulaBar = bolOnOff
    .DisplayScrollBars = bolOnOff
End With
For Each myCommandBar In Application.CommandBars
    myCommandBar.Enabled = bolOnOff
Next
CommandBars("Eigene Symbolleiste").Enabled = True
ActiveWindow.DisplayWorkbookTabs = bolOnOff
'Application.ScreenUpdating = True
End Sub

Bild


Betrifft: Datei öffnet so langsam von: ransi
Geschrieben am: 19.03.2005 22:42:25

hallo rheinhard

habe office xp.
pentium III,128 MB RAM, 1000MHz.
öffnen ging genauso zügig als wenn keine makros drin wären.
Von Sanduhr keine spur.
symbolleisten alle sauber zurückgesetzt.
herzlichen glückwunsch.

ransi


Bild


Betrifft: Merci für die Information m.T. von: Reinhard
Geschrieben am: 19.03.2005 23:07:30

Hallo ransi,
da ich es selbst sehr hasse wenn eine XL-datei mir die Symboleisten abändert ist mir der Punkt sehr wichtig.
Dann liegt es wohl an meinem Excel2000 bzw. meinem Win98 dass da 6 Sekunden verstreichen.
Kann man wohl nicht ändern.
Ich setze die Frage auf noch offen, weil ich die Datei an Leute schicken will, die ggfs noch Excel97 haben, deshalb würde mich da stark interessieren ob der Code auch auf Excel97 läuft.
Viele Grüße
Reinhard


Bild


Betrifft: Ach ja, noch was vergessen... von: K.Rola
Geschrieben am: 19.03.2005 23:50:17

Hallo,

dass user zweimal den Farbdialog aufrufen muss, ist auch nicht nötig, falls er beide Farben ändern will. Verleg die Auswahl einfach in den Farbdialog.

Gruß K.Rola


Bild


Betrifft: AW: Datei öffnet so langsam von: K.Rola
Geschrieben am: 19.03.2005 23:42:39

Hallo,

wenn du die Konstanten in "Umblenden" so deklarierst:

Const GWL_STYLE = -16
Const WS_CAPTION = &HC00000

dann läuft es auch auf Excel 97, öffnet ohne Verzögerung.

Kleiner Schönheitsfehler, wenn z.B. die Bearbeitungsleiste beim Start nicht eingeblendet
war, ist sie nach deinem Umblenden sichtbar. Das gilt auch für Scrollbars und Statusbar.
Du müßtest beim Start den Status irgendwo speichern und beim Beenden zurücksetzen.

Das Verhindern der Ereignisse in UserForm_Initialize mit Tag ist etwas umständlich.
Das geht mit einer Boolschen auf Modulebene einfacher.

Deine Symbolleiste musst du in WB_Deactivate disablen, visible False reicht nicht,
weil user sie in einer anderen Mappe wieder einblenden könnte und dann hagelt es
Fehler wenn er da was klickt.

Mich stört an deinem Farbdialog, dass die Farben nicht in der gewohnten Reihenfolge
angezeigt werden.
Falls user etwas an den Standartfarben in den Optionen ändert, stimmen die Farben der
Mappe nicht mehr mit deinem Dialog überein, da die ja hardcodiert sind. Soll heißen
user klickt in deinem Dialog auf rot und erhält eine andere Farbe.
Warum weist du nicht einfach die Workbookfarben zu?

So, genug gemeckert.

Gruß K.Rola


Bild


Betrifft: Für {Boris} Standard ist natürlich richtig :°) von: K.Rola
Geschrieben am: 19.03.2005 23:45:10

k


Bild


Betrifft: ;-) oT von: Boris
Geschrieben am: 20.03.2005 09:45:04




Bild


Betrifft: AW: Datei öffnet so langsam von: Reinhard
Geschrieben am: 20.03.2005 00:17:11

Muchas Gracias K.Rola,
habe die Masse kapiert und versuche das demnächst umzubasteln/umzusetzen.
Was ich nicht verstanden habe:
"Mich stört an deinem Farbdialog, dass die Farben nicht in der gewohnten Reihenfolge angezeigt werden."
Was meinst du mit "gewohnt", sie sind von 1 bis 56 gelistet? oder verstehe ich dich grad überhaupt nicht?
Viele Grüße
Reinhard


Bild


Betrifft: AW: Datei öffnet so langsam von: K.Rola
Geschrieben am: 20.03.2005 00:48:13

Hallo,



Gruß K.Rola


Bild


Betrifft: AW: Datei öffnet so langsam von: Reinhard
Geschrieben am: 20.03.2005 00:34:33

Hallo K.Rola,
da kommt aber Fehler: "In Aufzählung ungültig", bei
Private Enum constats
    Const GWL_STYLE = -16
Const WS_CAPTION = &HC00000
    
'    GWL_STYLE = -16
'    WS_CAPTION = &HC00000
End Enum
im Deklarationsteil von Sub Umblenden und das Const in Const GWL_Style ist blau unterlegt?!
Viele Grüße
Reinhard



Bild


Betrifft: AW: Datei öffnet so langsam von: K.Rola
Geschrieben am: 20.03.2005 01:23:05

Hallo,
Den gesamten Block:
Private Enum constats
    GWL_STYLE = -16
    WS_CAPTION = &HC00000
End Enum
rauswerfen und durch:
Const  WS_CAPTION = &HC00000
Const  GWL_STYLE = -16
ersetzen.


Gruß K.Rola

Der Fleiß ist die Wurzel aller Häßlichkeit.

Oscar Wilde




Bild


Betrifft: AW: Datei öffnet so langsam von: Reinhard
Geschrieben am: 20.03.2005 01:50:44

Hallo K.Rola,
ja, jetzt klappt es, wiederum grossen Dank :-)
Das mit den Farben *hmmh* hängt an meinen Excel-Basics bzw. den nicht vorhandenen Wissen.
Mit .Interior.Colorindex = X kann ich Farben von X=1 bis 56 (zur Not auch die 0) verteilen.
Wie das mit deinem "Standard"-Bild zusammenhängt, habe ich nie kapiert. Bei mir sind auch die 40 Farbkästchen sichtbar, untendrunter die 16 sind alle weiss, da ich da noch nie was machte.
Wie spreche ich denn diese 40/16 Farben an?
Viele Grüße und danke für deine Geduld
Reinhard


Bild


Betrifft: AW: Datei öffnet so langsam von: K.Rola
Geschrieben am: 20.03.2005 02:06:27

Hallo,

teil mir mal deine e-mail mit, dann mail ich dir ein Beispiel.

Gruß K.Rola


Bild


Betrifft: AW: Datei öffnet so langsam von: Reinhard
Geschrieben am: 20.03.2005 02:17:19

Hallo K.Rola,
sie heisst
gmx.de
@
reinhard1911
Ich denke du kriegst sie zusammengebastelt :-9
Lieben Gruß
Reinhard


Bild


Betrifft: AW: Datei öffnet so langsam von: K.Rola
Geschrieben am: 20.03.2005 02:41:36

Hallo,

hab gerade mal ein kleines Entschlüsselungsmakro aufgezeichnet, Ergebnis:

^]'qf`9**2*]kZagb^k

ist das korrekt so?

Gruß K.Rola


Bild


Betrifft: AW: Datei öffnet so langsam von: Reinhard
Geschrieben am: 20.03.2005 02:51:22

Hallo K.Rola,
exakt, richtig dechreffiert *lüch*
Emailadressen hier reinzuschreiben hat nen bösen Haken, deshab mache ich das nicht.
ich hofFe du hast noch Lust und Laune meine Emailadresse zu erraten *g
Viele Grüße
Reinhard


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Datei öffnet so langsam"