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

überprüfen welche Fenster offen sind?

überprüfen welche Fenster offen sind?
22.06.2004 14:48:34
Baumwolle
Guten Tag,
kann man ermitteln, welche Fenster gerade geöffnet sind und danach auch ein Fenster bei übereinstimmenden Namen schließen?
bye

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: überprüfen welche Fenster offen sind?
22.06.2004 16:16:13
Andreas Walter
Meinst Du wirklich Fenster?
Wenn man drei Fenster offen hat, werden sie
:1
:2
:3
benannt
ABER. Wenn Du jetzt :2 zumachst, wird :3 als :2 umbenannt.
D.h. die haben keine Namen oder Nummerierung auf die Du dich verlassen kannst?
Was willst du erreichen?
AW: überprüfen welche Fenster offen sind?
22.06.2004 16:21:37
Baumwolle
Ich öffne per Makro eine HTML datei. Allerdings aktualisiert es die datei nicht, wenn sie schon offen ist und ich sie öffne. Ich muss quasi feststellen ob die datei xyz.html offen ist, wenn ja, soll diese geschlossen werden wenn nein kann es ganz normal weiter gehen.
Gruß
AW: überprüfen welche Fenster offen sind?
22.06.2004 20:12:22
Nepumuk
Hallo ?,
in welchem Container (z.B. Internetexplorer) wird die html-Datei geöffnet? Mit VBA nein wird das schwierig. Hier mal ein Beispielcode, der die Caption aller geöffneten Fenster ausgibt:


Option Explicit
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As LongByVal wCmd As LongAs Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As LongByVal wIndx As LongAs Long
Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As LongAs Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As LongByVal lpString As StringByVal cch As LongAs Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As StringByVal lpWindowName As StringAs Long
Const GW_HWNDFIRST = 0
Const GW_HWNDNEXT = 2
Const GWL_STYLE = -16
Const WS_VISIBLE = &H10000000
Const WS_BORDER = &H800000
Public Sub GetWindowList()
    Dim hwnd As Long, sTitle As String, lStyle As Long
    hwnd = GetWindow(FindWindow(vbNullString, vbNullString), GW_HWNDFIRST)
    Do
        lStyle = GetWindowLong(hwnd, GWL_STYLE) And (WS_VISIBLE Or WS_BORDER)
        sTitle = GetWindowTitle(hwnd)
        If (lStyle = (WS_VISIBLE Or WS_BORDER)) = True And Trim(sTitle) <> "" Then
            MsgBox sTitle
        End If
        hwnd = GetWindow(hwnd, GW_HWNDNEXT)
    Loop Until hwnd = 0
End Sub
Private Function GetWindowTitle(ByVal hwnd As LongAs String
    Dim lResult As Long, sTemp As String
    lResult = GetWindowTextLength(hwnd) + 1
    sTemp = Space(lResult)
    lResult = GetWindowText(hwnd, sTemp, lResult)
    GetWindowTitle = Left(sTemp, Len(sTemp) - 1)
End Function


Gruß
Nepumuk
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige