Szukam sposobu na zamknięcie okna systemu Windows za pomocą samego tytułu okna.
Mam ten kod, ale mam błąd " typ zdefiniowany przez użytkownika nie jest zdefiniowany " w " Dim w As Window "
Dim w As Window, Ligne As Integer
Ligne = 1
For Each w In Windows
Cells(Ligne, 1) = w.Caption
Ligne = Ligne + 1
Next w
Window.Activate ("Bonjour")
Window.Close ("Bonjour")
Myślę, że z pewnością jest to funkcja lub odniesienie do dodania, ale nie mogę znaleźć, który.
Tak, absolutnie, zrobiłem trochę badań nad kodem VBA i pomyślałem, że to może zadziałać. Oczywiście, że nie.
Jest to wyskakujące okienko zewnętrznego oprogramowania.
Udało mi się uciec z tym kodem:
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, _
ByVal lpWindowName As String) As Long
Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long
Const WM_CLOSE = &H10
Dim Mywin
Mywin = FindWindow(vbNullString, "Make a donation")
Call SendMessage(Mywin, WM_CLOSE, 0, 0)
@treza88 jeśli problem zostanie rozwiązany, możesz wybrać własną odpowiedź jako najlepszą odpowiedź, aby zamknąć temat i w razie potrzeby pomóc innemu użytkownikowi, który ma taką samą potrzebę.