Ich habe folgendes problem. wie kann ich mit ein makro eine andere Exel_datei vorhandener msgbox ausschalten dann am ende Makros sol wieder aktiv sein.
mfg
Tayyar
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, ByVal _
lpWindowName As String) As Long
Private Declare Function SetForegroundWindow Lib "user32" ( _
ByVal hwnd As Long) As Long
Public Sub Schliesse(MSGBOX_TITLE As String)
Dim hActive As Long
Dim hMsgBox As Long
hActive = FindWindow(vbNullString, Application.Name & " - " & ActiveWorkbook.Name)
hMsgBox = FindWindow("#32770", MSGBOX_TITLE)
If hMsgBox <> 0 Then
SetForegroundWindow hMsgBox
DoEvents
SendKeys "{enter}", True
SetForegroundWindow hActive
End If
End Sub
Den Code packst Du in ein allgemeines Modul.
Du musst nur den Titel der MsgBox (steht im blauen Balken) kennen. Die Sub rufst Du dann mit Schliesse("Titel der MsgBox") auf. Das Makro simuliert eine Eingabe mit Enter, es wird also die in der MsgBox ausgewählte Taste geklickt. Wenn Du diese vorher noch wechseln (lassen) willst (z.B. von "OK" auf "Abbrechen"), dann schaue Dir die Hilfe zu SendKeys an und baue noch ein oder zwei Tab- Anschläge ein.
Gruss- Micha
PS: Rückmeldung wäre nett.