Schließen eines Windows-Fensters anhand seines Titels

Hallo ihr alle

Ich bin auf der Suche nach einer Möglichkeit, ein Windows-Fenster nur mit dem Titel des Fensters zu schließen.

Ich habe diesen Code, aber ich habe den Fehler " benutzerdefinierter Typ nicht definiert " auf " 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")

Ich denke, es ist sicherlich eine Funktion oder eine Referenz, die hinzugefügt werden soll, aber ich kann nicht finden, welche.

Haben Sie eine Idee?

Hallo

Wenn ich mich nicht irre, ist es eine Excel-Funktion, aber sie funktioniert nicht in SW.
Sie sollten sich dieses Thema ansehen und den vorgeschlagenen Code anpassen, um das Fenster abfangen und schließen zu können. Zentrieren eines Benutzerformulars auf einem Bildschirm - Makro - myCAD Forum

2 „Gefällt mir“

Hallo;
Welche Art von " Windows " -Fenster möchten Sie schließen?
Es ist möglich, einige von ihnen mit der Verwaltung von " Warnungen " in den SOLIDWORKS APIs zu verhindern:
https://help.solidworks.com/2016/English/api/swconst/SOLIDWORKS.Interop.swconst~SOLIDWORKS.Interop.swconst.swFileSaveWarning_e.html
oder mit der Funktion " Silent " verwenden:

Ja absolut, ich habe etwas über VBA-Code recherchiert und dachte, es könnte funktionieren.
Natürlich nicht.

Es handelt sich um ein Popup-Fenster einer externen Software.

Ich habe es geschafft, mit diesem Code durchzukommen:

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 wenn das Problem gelöst ist, können Sie Ihre eigene Antwort als beste Antwort auswählen, um das Thema zu schließen und ggf. einem anderen Benutzer zu helfen, der das gleiche Bedürfnis hat.

1 „Gefällt mir“