Binden Sie sich in eine untergeordnete Klasse SysTreeView32 des VBE-Fensters ein
Ich bin mit den WinApi-Aufrufen ziemlich neu, obwohl ich mit VBA vertraut bin. Was ich versuche zu tun, ist, eine untergeordnete Klasse SysTreeView32 des VBE-Fensters (Project Explorer TreeView) zu verknüpfen. Ich möchte die Elemente der Baumansicht erweitern / reduzieren, indem ich die Registrierungsschlüssel ändere (oder alternativ die Mausklicks (mouse_event) sende, obwohl ich die erste Option bevorzuge).
Ich kann das Excel-Hauptfenster mit folgendem Code finden:
Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Sub Find_Window()
Dim hWndExcel As Long
hWndExcel = FindWindow("XLMAIN", Application.Caption)
MsgBox hWndExcel
End Sub
Mit der Hilfe vonFensterdetektiv Ich kann auf die Namen, Eigenschaften usw. der untergeordneten Klassen zugreifen.
Aber ich kann nicht herausfinden, wie man auf die HWID der zugreift / sie aktiviert (oder sie sogar zurückgibt)SysTreeView32
untergeordnete Klasse zum Ein- / Ausblenden von Elementen (Ordnern). Ich bin mir noch nicht sicher, wie ich die Elemente durchlaufen soll, aber ich werde dies später untersuchen. Das Problem hier ist der Zugriff auf dieSysTreeView32
Klasse. Wie kann ich das erreichen?
Wenn ich versuche, diese msgboxFindWindow("wndclass_desked_gsk", Application.Caption)
oderFindWindow("SysTreeView32", Application.Caption)
a 0
wird zurückgegeben, also mache ich offensichtlich etwas falsch: /
Vielen Dank für Ihre Zeit.