ich habe eine frage und würde mich sehr über Hilfe freuen.
Ich habe momentan vor über Excel ein fenster in den Vordergrund zu holen.
Das schaffe ich auch mit einem Makro...
Was ich nicht schaffe ist es das Fenster zu aktivieren so das der Cursor in dem Programm blinkt.
habe es MIt AppActivate ("fenstername) versucht aber es kommt immer ein fehler.
Obwohl ich genau den richtigen Fensternamen eingebe:(
Es handelt sich in dem Fall um ein SAP Fenster.
Bei vielen anderen geht es aber bei diesem nicht.
Auch wenn ich mit dem anderen Programm das fenster in den Vordergrund hole hat das fenster z.b den Namen "sap_fenstername" aber mit AppActivate gehts nicht :(
Um das fenster in den Vordergrund zu holen verwende ich so einen Code.
Hier ein teil davon.
Declare
Function GetWindow Lib "User32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
Declare
Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal wIndx As _
Long) As Long
Declare
Function GetWindowTextLength Lib "User32" Alias "GetWindowTextLengthA" (ByVal hWnd As Long) As _
Long
Declare
Function GetWindowText Lib "User32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString _
As String, ByVal cch As Long) As Long
Declare
Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal _
lpWindowName As String) As Long
Declare
Function SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X _
As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Sub vordergrund()
cb = Cells(1, 1)
whandle = FindWindow(vbNullString, cb)
Call SetWindowPos(whandle, -1, 0, 0, 0, 0, 3)
'bis hier hin funktioniert es.
Sobald abeer AppActivate das fenster aktivieren soll kommt der Fehler.
AppActivate (cb)
End Sub
Würde mich sehr über Hilfe freuen.
Vielleicht weiß jemand eine möglichkeit über API ein fenster zu aktivieren.
Vielen Dank dafür im vorraus
gruß Christian