VBA: hwnd ermitteln

Hallo,

unter VB6 ist es ja kein Problem die hwnd zu ermitteln. Allerdings geht dies in VBA nicht so. Ich hatte mal gelesen, dass man die hwnd aber ermitteln könnte.
Weiß jemand wie das geht?
ich habe google schon gefragt, aber die Seite nicht wieder gefunden.

mfg

Hallo,

das Handle der Form kannst Du z.B. mit GetActiveWindow holen wenn die Form im Vordergrund und aktv ist.

Private Declare Function GetActiveWindow Lib "user32" () As Long

Oder auch über den Fenstertitel …

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

Die Steuerelemente haben in den VBA-Versionen, die ich kenne, anders als in VB6 kein Handle.

Gruß Rainer

OT Wo ist der Scrollbalken geblieben?

Private Declare Function FindWindow Lib „user32“ Alias
„FindWindowA“ (ByVal lpClassName As String, ByVal lpWindowName
As String) As Long

Hallo Rainer und Mitleser,

das Obige wird bei mir nur so kurz angezeigt:

Private Declare Function FindWindow Lib „user32“ Alias „FindWindowA“ (ByVal lpClass

Markiert man die Zeile bzw. klicke ich auf Antworten stehts komplett.

Es fehlt auf einmal dieser waagrechte Scrollbalken für lange Textzeilen.

Bei Euch auch?

FF 3.0.11 auf WinXP

Gruß
Reinhard

Hallo Reinhard,

Private Declare Function FindWindow Lib „user32“ Alias
„FindWindowA“ (ByVal lpClassName As String, ByVal lpWindowName
As String) As Long

Es fehlt auf einmal dieser waagrechte Scrollbalken für lange
Textzeilen.

Bei Euch auch?

ja, das war ich, sorry. :smile:
Ich habe erst global behauptet, in VBA hätten Steuerelemente keine Handles, dann ist mir aufgafallen, daß ich das ja gar nicht genau weiß. Die Neuesten kenne ich nicht, das kann sich geändert haben.

Also habe ich meinen Text kopiert, Beitrag gelöscht und neu eingestellt.

Beim Kopieren habe ich da einen Fehler gemacht …

Gruß Rainer

unter VB6 ist es ja kein Problem die hwnd zu ermitteln.
Allerdings geht dies in VBA nicht so. Ich hatte mal gelesen,
dass man die hwnd aber ermitteln könnte.

Hallo blietzau,

von was genau willst du denn die hwnd wissen mit Vba?

Gruß
Reinhard

Hallo,

mein Ziel ist es, bei einer Listbox es hinzubekommen auch mit Rechtsklich einen Eintrag auszuwählen. Eine Eigenschaft dafür habe ich nicht gefunden. In VB6 habe ich es aber über SendMessage gelöst. Dafür brauche ich aber die hwnd der Listbox.
Von Fenstern weiß ich bereits wie man den Handler bekommt. Aber scheibar ist mehr unter VBA auch nicht möglich.

mfg

Hi,

danke für die Antwort.
Ich bräuchte leider das Handel von einer Listbox. Aber wenn das gar keins hat bekomme ich das wohl auch nicht. Schade.

mfg

Hande etwas gefunden
Hier eine Möglichkeit:

http://www.vbarchiv.net/tipps/details.php?id=667

Jetzt ein anderes Problem: VBA hat gesagt, dass er Screen.TwipsPerPixelY nicht kennt… hatte den Code von VB6 kopiert…

deutsch sollte gelernt sein…