Ich habe das Problem, dass ich ein Excel-Userform vor einem anderen Programm erscheinen lassen will.
Also im Vordergrund das Userform und im Hintergrund die Fremdanwendung.
Ich habe es mal wie fogt probiert:
Private Sub UserForm_Activate()
Stempel_Vordergrund
End Sub
Modul1:
Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, ByVal _
lpWindowName As String) As Long
Private Declare Function MoveWindow Lib "user32" (ByVal hwnd _
As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, _
ByVal nHeight As Long, ByVal bRepaint As Long) As Long
Sub Stempel_Vordergrund()
Dim WshShell As Object
Dim s As String
Dim datei As String
datei = ThisWorkbook.Name
dateikurz = Left(datei, Len(datei) - 4)
Set WshShell = CreateObject("WScript.Shell")
WshShell.AppActivate "Saperion"
Application.Wait TimeSerial(Hour(Now()), _
Minute(Now()), Second(Now()) + 1)
WshShell.AppActivate dateikurz
Application.Wait TimeSerial(Hour(Now()), _
Minute(Now()), Second(Now()) + 1)
End Sub
Das Problem ist das es mal klappt und mal nicht. Es ist kein Muster zu erkennen wann es geht und wann nicht.
Gibt es evtl. eine Lösung die 100%ig funktioniert?
Die Datei wird von vielen Anwendern genutzt und würde die Arbeit sehr erleichtern.
Gruß und schon mal Danke für eure Hilfe!
Werner