Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
400to404
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
400to404
400to404
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

BringWindowToTop.....aber wie?

BringWindowToTop.....aber wie?
Peter
Hi, ich lasse bei minimiertem Excel ein paar Makros ablaufen, danach will ich es nach bestätigung des Benutzers maximieren bzw. in den Windows Vordergrund bringen. Ich habe nun den Typ bekommen es folgend zu realisieren:
Declare Function BringWindoToTop Lib "user32.dll" (ByVal hwnd As Long) As Long
und das dann aufrufen mit
BringWindowToTop (Application.hwnd)
...leider ohne Erfolg. Ich habe mal gehört, dass das an Windows2000 liegen kann.(welches eingesetzt wird) und außerdem weiß ich auch nicht, ob ich das "Declare Function" an der richtigen Stelle im Code eingefügt habe....
Vorschläge? Ideen? Alternativen?
Danke im Vorraus

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: BringWindowToTop.....aber wie?
Oberschlumpf
Hi Peter
Ohne jetzt mal näher auf Dein Prob einzugehen, möcht ich gern wissen, ob der Tippfehler nur hier im Thread oder auch in Deinem Code existiert?

Declare Function BringWindoToTop Lib "user32.dll" (ByVal hwnd As Long) As Long
BringWindowToTop (Application.hwnd)

Siehst Du, was ich meine?
Einmal Window mit und einmal ohne w am Ende.
Ciao
Thorsten
Fehler im Thread
Peter
hast recht, hab mich vertippt.....aber nur im Thread, nicht im Code ;-)
AW: Fehler im Thread
Oberschlumpf
Hi Peter
Schade, wäre doch ein recht simpler Fehler gewesen, oder?
Ich schau mal weiter, im Mom hab ich keine andere Idee. Aber vielleicht jemand anderes...deshalb ist der Thread wieder "offen".
Ciao
Thorsten
Anzeige
AW: Fehler im Thread
Oberschlumpf
Hi Peter
Und wenn Du es nach Deiner MsgBox SO versuchst?
Application.WindowState = xlMaximized
Vielleicht ist DAS ja, was Du suchtest.
Ciao
Thorsten
schon probiert....leider nicht.
Peter
Hi Thorsten,
leider nicht, das hatte ich als erstes probiert...
AW: schon probiert....leider nicht.
Oberschlumpf
Hi
Ohh? Woran liegt das? Kannst Du vielleicht mal eine Beispieldatei erstellen, den entsprechenden Code irgendwie markieren und die Datei auf den Server laden?
Vielleicht schaffen wir es ja dann, dem Prob auf die Spur zu kommen :-)
Ciao
Thorsten
AW: schon probiert....leider nicht.
Peter
Eigentlich ist die Situation als solche nicht kompliziert..
das entscheidene im Code kann ich hier kurz reinstellen:
Also, am Anfang Minimiere ich Excel mit
Application.WindowState = xlMinimized
gut soweit.
am Ende habe ich folgenden Dialog:
AbschlussFrage = MsgBox("Der Vergleich ist abgeschlossen." & vbCrLf & _
"Wollen Sie die neu generierte Datei jetzt öffnen?", vbYesNo)

If AbschlussFrage = vbNo Then
[Alle Workbooks werden geschlossen, Excel beendet]
End If

If AbschlussFrage = vbYes Then
[alle ausser neu generierter Worksheet werden geschlossen]
End If
SOOOO, bei AbschlussFrage =vbYes will ich halt, dass Excel in den Vordergrund gebracht bzw. aktiviert wird....any Ideas?
Anzeige
AW: schon probiert....leider nicht.
Oberschlumpf
Hi Peter
Ich hab mal dieses probiert:


Sub MinMax()
    Application.ScreenUpdating = False
    
    'Excel wird bei Makroaufruf vollständig minimiert
    Application.WindowState = xlMinimized
    
    'irgendeine Datei wird geöffnet
    Workbooks.Open "C:\irgendeine.xls"
    
    'wenn Makro fertig, dann Excel erst maximieren
    Application.WindowState = xlMaximized
    
    'Deine Frage
    frage = MsgBox("Datei wurde geöffnet, Makro beendet. Wollen Sie sich  die geöffnete Datei ansehen?", vbYesNo, "Frage")
        
    'wenn JA, dann wird DIESE Datei gespeichert und ohne zu fragen geschlossen, und die vorher geöffnete Datei wird gezeigt
        If frage = vbYes Then
            Workbooks(1).Close savechanges:=True
        End If
    
    Application.ScreenUpdating = True
End Sub


Bei mir funktioniert alles optimal.
Excel wird minimiert
Datei wird geöffnet
Frage erscheint
und bei JA wird ERST maximiert, dann Quelldatei gespeichert + geschlossen, und dann wird vorher göffnete Datei gezeigt.
Vielleicht DOCH eine Bsp-Datei von Dir auf den Server? :-)
Oder jemand anderes hat noch eine Idee.
Ciao
Thorsten
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige