Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1120to1124
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
Inhaltsverzeichnis

Abfrage: Excel im Vordergrund?

Abfrage: Excel im Vordergrund?
frigo
Hallo zusammen,
ich möchte bei einem bestimmten Ereignis in einem Makro die Excelapplikation in den Vordergrund bringen. Zumindest soll Excel in der Taskleiste blinken.
Wie kann ich sowas erzwingen?
D.h. es läuft ein Makro, das über mehrere Stunden Dateien ausliest etc.. bei einem bestimmten Ergebnis, soll ich nun darauf aufmerksam gemacht werden.
Angenommen ich arbeite gerade in Outlook etc. dann soll sich nun entweder Excel in den Vordergrund zwingen oder mindestens blinken.
Alle meine Versuche mit Msgbox, Windows, Goto etc. sind gescheitert.
Habt Ihr irgendwelche Ideen?
Danke!
frigo

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Abfrage: Excel im Vordergrund?
25.11.2009 20:49:24
Horst
wie wäre es, bei Auftreten eines bestimmten Ereignisses ein Makro in einer externen Arbeitmappe zu starten. Mit dem Öffnen eines neuen .xls ist Excel dann wieder automatisch im Vordergrund.
AW: Abfrage: Excel im Vordergrund?
26.11.2009 11:59:18
frigo
Gute Idee, danke!
frigo
AW: Abfrage: Excel im Vordergrund?
26.11.2009 08:12:48
Nepumuk
Hallo,
so:
Option Explicit

Private Declare Sub SetWindowPos Lib "User32.dll" ( _
    ByVal hWnd As Long, _
    ByVal hWndInsertAfter As Long, _
    ByVal X As Long, _
    ByVal Y As Long, _
    ByVal cx As Long, _
    ByVal cy As Long, _
    ByVal wFlags As Long)

Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOACTIVATE = &H10

Public Sub Test()
    SetWindowPos Application.hWnd, HWND_TOPMOST, 0, 0, 0, 0, _
        SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOACTIVATE
    SetWindowPos Application.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, _
        SWP_NOMOVE Or SWP_NOSIZE
End Sub

Gruß
Nepumuk
Anzeige
Super! (dennoch Nachfrage erforderlich)
26.11.2009 11:58:25
frigo
Hallo Nepumuk,
super vielen Dank. Funktioniert prächtig.
Kannst Du mir dennoch bitte erklären, warum die SetWindowsPos Routine zweimal aufgerufen wird. Was passiert da jeweils?
Kannst Du mir eine Site oder ein Buch empfehlen, wo man sich in die Nutzung von DLLs einlesen kann bzw. wie man rausfindet, welche DLL welche Möglichkeiten bieten?
Danke,
frigo
AW: Super! (dennoch Nachfrage erforderlich)
26.11.2009 13:31:33
Nepumuk
Hallo,
wenn du die TopMost-Eigenschaft nicht mehr zurück setzt, dann bleibt das Excelfenster im Vordergrund und du kannst kein anderes Fenster mehr nach vorne bringen. Das Verhalten kennst du vielleicht vom Taskmanager, der bleibt (optional) auch immer im Vordergrund.
Es gibt ein sehr gutes Buch von Dan Appleman. Allerdings nur in englisch.
http://www.amazon.de/Applemans-Visual-Programmers-Authoritative-Solution/dp/0672315904/ref=sr_1_1/278-3983658-3644666?ie=UTF8&s=books-intl-de&qid=1259238093&sr=8-1
Hier gibts den API-Guide und den API-Viewer und Beispiele: http://www.allapi.net/
Und Google mal nach "API" (Application Programming Interface) da gibt es jede Menge Fundstellen.
Gruß
Nepumuk
Anzeige
Nachtrag
26.11.2009 13:35:23
Nepumuk
Hier: http://www.dependencywalker.com/ kannst du dir den Dependency-Walker runterladen. Damit kannst du selbst in die DLL's schauen, welche Funktionen drin stecken. Allerdings werden nur die Funktionsnamen angezeigt, keine Parameter und keine Erklärung dazu.
Gruß
Nepumuk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige