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
756to760
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
756to760
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fenster nach vorne

Fenster nach vorne
01.05.2006 09:46:35
Hugo
Hallo Zäme
Via VBA-Code lade ich einige Dateien im Hintergrund. Die Schlussseite bei diesen Arbeiten ist eine Browserseite.
Nun habe ich das Problem, dass diese Browserseite optisch noch vor meiner Excelseite liegt.
Ich habe versucht mit Workbooks(strDateiname).Activate die Excelseite nach vorne zu bringen, ohne Erfolg.
Gibt es eine Möglichkeit via VBA-Code aus Excel diese Browserseite sogar zu schliessen oder wenigstens meine Excelseite in den Vordergrund zu bringen?
Für Eure Hilfe jetzt schon Danke schön.
Gruss Hugo

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fenster nach vorne
01.05.2006 11:40:55
Nepumuk
Servus Hugo,
welcher Browser? Ist nur diese Seite geöffnet oder können es auch noch andere sein? Woran kann ich sie dann unterscheiden, Titelleiste oder Adresse in der Adressleiste?
Gruß
Nepumuk

AW: Fenster nach vorne
01.05.2006 14:15:37
Hugo
Hallo Nepumuk
Danke für Dein Feedback.
Es handelt sich um ein IE-Explorerfenster. Es können 1 bis n solche Fenster sein.
s. Bild
Userbild
Gruss
Hugo
AW: Fenster nach vorne
01.05.2006 15:09:37
Tassos
Servus Hugo,
Probier mal so: ( https://www.herber.de/bbs/user/33244.txt )
Public Declare

Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare 

Function SetWindowPos Lib "user32" (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) As Long
Public Declare 

Function ShowWindow Lib "user32" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long

Sub Foreground()
Dim Nr&, sPos, Vorher As Boolean
Nr = FindWindow("XLMAIN", vbNullString)
ShowIt = SetWindowPos(Nr, -1, 0, 0, 0, 0, 3)
ShowIt = ShowWindow(Nr, 3)
End Sub


Sub Background()
Dim Nr&, sPos, Vorher As Boolean
Nr = FindWindow("XLMAIN", vbNullString)
ShowIt = SetWindowPos(Nr, -2, 0, 0, 0, 0, 3)
ShowIt = ShowWindow(Nr, 3)
End Sub


Sub DeinButton()
Background 'Oder "Application.WindowState = xlMinimized"
End Sub

Mit "Foreground" hält sich das Excel-Fenster sichtbar im Vordergrund
und mit "Background" bekommt dieses wieder sein normales z-Order Verhältnis
Gruss
Tassos
Anzeige
AW: Fenster nach vorne - Korrektur
01.05.2006 17:18:45
Tassos
Hallo, Ich war zu schnel mit Posten!
Hier sind die korrigierte Subs:

Sub Foreground()
Dim Nr&, ShowIt&
Nr = FindWindow("XLMAIN", vbNullString)
ShowIt = SetWindowPos(Nr, -1, 0, 0, 0, 0, 3)
ShowIt = ShowWindow(Nr, 3)
End Sub


Sub Background()
Dim Nr&, ShowIt&
Nr = FindWindow("XLMAIN", vbNullString)
ShowIt = SetWindowPos(Nr, -2, 0, 0, 0, 0, 3)
ShowIt = ShowWindow(Nr, 3)
End Sub

Gruss
Tassos
AW: Fenster nach vorne - Korrektur
01.05.2006 17:46:35
Hugo
Tassos
Danke mal erst für Deine Hilfe.
Gerne möchte ich nun Fragen ob es auch eine Möglichkeit gibt so ein IE-Browserfenster einfach via VBA-Code zu schliessen.
Dieses Browserfenster ist nur wie eine Information und kann ohne weitere Aktion geschlossen werden.
Gruss
Hugo
Anzeige
IE-Browserfenster einfach via VBA-Code schli
01.05.2006 18:21:10
Tassos
Servus Hugo,
man kann mittels VBA den Internet Explorer beenden wenn dieser mit VBA gestartet wird.
Beispiel:
Option Explicit
'Den Verweis " Microsoft Controls" Aktivieren!
Public ie As Object

Sub ieStart()
Set ie = New InternetExplorer
ie.Visible = True
ie.Navigate ("www.google.com")
End Sub


Sub ieClose()
If Not ie Is Nothing Then
ie.Quit
Set ie = Nothing
End If
End Sub

Gruss
Tassos
AW: IE-Browserfenster einfach via VBA-Code schli
02.05.2006 15:56:14
Hugo
Tassos
PERFEKT!!!
Damit kann ich mein Problem lösen.
Danke und Gruss
Hugo
Anzeige
AW: Fenster nach vorne
02.05.2006 11:09:09
Nepumuk
Servus Hugo,
null Problemo:
Option Explicit

Private Declare Function EnumWindows Lib "user32.dll" ( _
    ByVal lpEnumFunc As Long, _
    ByVal lParam As Long) As Boolean
Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" ( _
    ByVal hWnd As Long, _
    ByVal lpString As String, _
    ByVal cch As Long) As Long
Private Declare Function GetWindowTextLength Lib "user32.dll" Alias "GetWindowTextLengthA" ( _
    ByVal hWnd As Long) As Long
Private Declare Function GetClassName Lib "user32.dll" Alias "GetClassNameA" ( _
    ByVal hWnd As Long, _
    ByVal lpClassName As String, _
    ByVal nMaxCount As Long) As Long
Private Declare Function PostMessage Lib "user32.dll" Alias "PostMessageA" ( _
    ByVal hWnd As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
    ByRef lParam As Long) As Long

Private Const GC_CLASSNAMEMSIEXPLORER = "IEFrame"
Private Const WM_CLOSE = &H10

Public Sub prcCloseIE()
    EnumWindows AddressOf WindowCallBack, ByVal 0&
End Sub

Private Function WindowCallBack(ByVal hWnd As Long, ByVal lParam As Long) As Boolean
    Dim sTemp As String, retVal As Long, sClassTemp As String * 100
    GetClassName hWnd, sClassTemp, 100
    If Left$(sClassTemp, Len(GC_CLASSNAMEMSIEXPLORER)) = GC_CLASSNAMEMSIEXPLORER Then
        retVal = GetWindowTextLength(hWnd)
        sTemp = Space(retVal)
        GetWindowText hWnd, sTemp, retVal + 1
        If retVal <> 0 Then _
            If LCase$(Left$(sTemp, 9)) = "postforms" Then _
            PostMessage hWnd, WM_CLOSE, 0&, 0&
    End If
    WindowCallBack = True
End Function

Gruß
Nepumuk

Anzeige
AW: Fenster nach vorne
02.05.2006 15:58:07
Hugo
Danke Nepumuk
Habe mein Problem mit der Lösung von Tassos lösen können.
Ich danke Dir für die Hilfe.
Hugo

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige