Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1816to1820
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

Bie Mouseover Datei anzeigen

Bie Mouseover Datei anzeigen
11.03.2021 07:57:24
Harald
Hallo,
zu meiner Frage mit dem gleichen Betreff wie oben vom 14.02.14 am gleichen Tag um 20:35 Uhr folgenden Link gepostet:
https://www.herber.de/bbs/user/143916.xlsm
Dies funktioniert auch wunderbar, allerdings habe ich noch ein kleines Problem: Wenn die Excel-Datei im Hintergrund geöffnet ist und ein anderes Dokument (z. B. eine Word-Datei) im Vordergrund aktiv ist reagiert Excel trotzdem auf das Mouseover und wird aktiv in den Vordergrund gestellt.
Kann man hier irgendwie prüfen, ob die Excel-Datei bei dem Mouseover auch aktiv ist und nur dann reagieren?
Im voraus schon vielen Dank
Harald

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

Betreff
Datum
Anwender
Anzeige
AW: Bie Mouseover Datei anzeigen
11.03.2021 08:17:05
Nepumuk
Hallo Harald,
starte mal folgende Prozedur in eine neuen Excelmappe:
Public Sub Test()
    MsgBox Application.hwnd
End Sub

Kommt da die MsgBox mit einer Zahl oder eine Fehlermeldung?
Gruß
Nepumuk

Anzeige
AW: Bie Mouseover Datei anzeigen
11.03.2021 12:46:32
Harald
Hallo Nepumuk,
hier am Arbeitsplatz kommt dann eine Zahl (526812)
Kann das sein, dass der Fehler nur hier auftritt, weil hier schon Excel 2013 installiert ist?
Ich werde das heute abend mal zu Hause testen, wo noch Excel 2007 installiert ist (demnächst muss ich mir mal für zu Hause eine neue Version kaufen).
mfg
Harald

AW: Bie Mouseover Datei anzeigen
11.03.2021 12:55:02
Nepumuk
Hallo Harald,
alles klar, dann bis heute Abend.
Gruß
Nepumuk

AW: Bie Mouseover Datei anzeigen
11.03.2021 16:27:00
Harald
Hallo Nepumuk,
auch zu Hause mit Excel 2007 kommt eine Zahl.
Trotzdem habe ich das gleiche Problem wie am Arbeitsplatz mit Excel 2013 -
obwohl ich eine Word-Datei geöffnet habe und diese aktiv ist wird das Bild aus der Hintergrund-Datei angezeigt, wenn ich mit der Maus auf einen Link im Hintergrund komme.
Falls das Problem nicht zu beheben ist ist das auch nicht allzu schlimm - Hauptsache es funktioniert in Excel.
Nochmals vielen Dank dafür.

Anzeige
AW: Bie Mouseover Datei anzeigen
11.03.2021 16:32:12
Nepumuk
Hallo Harald,
ändere den Code im Modul so:
Option Explicit

Private Declare Function SetTimer Lib "user32.dll" ( _
    ByVal hwnd As Long, _
    ByVal nIDEvent As Long, _
    ByVal uElapse As Long, _
    ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32.dll" ( _
    ByVal hwnd As Long, _
    ByVal nIDEvent As Long) As Long
Private Declare Function GetCursorPos Lib "user32.dll" ( _
    ByRef lpPoint As POINTAPI) As Long
Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long

Private Type POINTAPI
    x As Long
    y As Long
End Type

Public Sub Start()
    Call SetTimer(Application.hwnd, 0, 500, AddressOf StartTimer)
End Sub

Private Function StartTimer(ByVal hwnd As Long, ByVal nIDEvent As Long, _
        ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long

    
    Static ssstrAddress As String
    
    Dim udtPoint As POINTAPI
    Dim objUnknown As Object
    
    If GetForegroundWindow = Application.hwnd Then
        
        On Error GoTo err_exit
        
        Call GetCursorPos(udtPoint)
        
        Set objUnknown = ActiveWindow.RangeFromPoint(udtPoint.x, udtPoint.y)
        
        If TypeOf objUnknown Is Range Then
            
            If objUnknown.Hyperlinks.Count = 1 Then
                
                If Right$(objUnknown.Hyperlinks(1).Address, 4) = ".jpg" Then
                    
                    If ssstrAddress <> objUnknown.Address Then
                        
                        ssstrAddress = objUnknown.Address
                        
                        Call Unload(Object:=UserForm1)
                        
                        With UserForm1
                            
                            Set .Picture = LoadPicture(Filename:=ThisWorkbook.Path & _
                                "\" & objUnknown.Hyperlinks(1).Address)
                            
                            Call .Show
                            
                        End With
                        
                    End If
                Else
                    ssstrAddress = vbNullString
                    Call Unload(Object:=UserForm1)
                End If
            Else
                ssstrAddress = vbNullString
                Call Unload(Object:=UserForm1)
            End If
        Else
            ssstrAddress = vbNullString
            Call Unload(Object:=UserForm1)
        End If
    End If
    
    err_exit:
    
End Function

Public Sub StopTimer()
    Call KillTimer(Application.hwnd, 0)
End Sub

Gruß
Nepumuk

Anzeige
AW: Bie Mouseover Datei anzeigen
12.03.2021 08:51:39
Harald
Hallo Nepumuk,
super - jetzt funktioniert es ohne immer wieder die Excel-Datei anzuzeigen!
Nochmals vielen Dank!
mfg
Harald

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige