Fermer une fenetre windows par son titre

Bonjour à tous,

je cherche comment fermer une fenêtre Windows juste avec le titre de la fenêtre.

j’ai bien ce code, mais j’ai une erreur « type defini par l’utilisateur non defini » sur « 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")

je me dit que c’est certainement une fonction ou une référence a ajouter, mais je ne trouve pas laquelle.

Auriez vous une idée ?

Bonjour,

Sauf erreur de ma part c’est une fonction Excel mais qui ne fonctionne pas sur SW.
Faudrait regarder ce sujet et adapter le code proposé pour pouvoir intercepter la fenêtre et fermer Centrer un userform sur un écran - Macro - Forum myCAD

2 « J'aime »

Bonjour;
Quel type de fenêtre « Windows » voulez-vous fermer ?
il est possible d’en inhiber quelques-unes avec la gestion des « Warning » dans les API solidworks:
https://help.solidworks.com/2016/English/api/swconst/SOLIDWORKS.Interop.swconst~SOLIDWORKS.Interop.swconst.swFileSaveWarning_e.html
ou en utilisant la fonction « Silent »:

Oui tout a fait, j’ai fait des recherche sur du code VBA et je pensais que ça pouvais fonctionné.
Mais non.

C’est une fenetre type popup d’un logiciel externe.

J’ai réussi à m’en sortir avec ce code :

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 si le problème est résolu, tu peux sélectionner ta propre réponse comme étant la meilleure réponse afin de clore le sujet et aider si besoin un autre utilisateur qui aurait le même besoin.

1 « J'aime »