Hallo zusammen,
Bei folgender Sub in einem Arbeitsblatt mit einer Schaltfläche als Auslöser verliert Excel 2003 (in Citrix-Umgebung) den Fokus. Das heisst, das ein beliebiges anderes Fenster sich vor das Excel-Fenster schiebt, bzw. in Excel keine Eingaben mehr möglich sind ohne das Fenster manuell wieder zu aktivieren.:
Sub Schaltfläche1\_BeiKlick()
If Range("A1") = 0 Then MsgBox "Zelle leer", vbInformation, "Eingabe": Range("A1").Select: Exit Sub
Range("B1").Select
End Sub
Ich habe schon einiges ausprobiert - ohne Erfolg.
Bei meiner realen Anwendung geschieht das sogar nur bei jedem 2. auslösen des Codes
Für einen guten Tip wäre ich sehr dankbar.
Gruß
Arnold
Bei folgender Sub in einem Arbeitsblatt mit einer Schaltfläche
als Auslöser verliert Excel 2003 (in Citrix-Umgebung) den
Fokus. Das heisst, das ein beliebiges anderes Fenster sich vor
das Excel-Fenster schiebt, bzw. in Excel keine Eingaben mehr
möglich sind ohne das Fenster manuell wieder zu aktivieren.:
Bei meiner realen Anwendung geschieht das sogar nur bei jedem
2. auslösen des Codes
Hi Arnold,
nicht nachvollziehbar, m.E. muß das an Citrix oder einer anderen Anwendung liegen.
Probiers mal so:
Sub Schaltfläche1\_BeiKlick()
If Range("A1") = 0 Then
MsgBox "Zelle leer", vbInformation, "Eingabe"
Range("A1").Select
Else
Range("B1").Select
End If
**ActiveWindow.WindowState = xlMaximized**
End Sub
Gruß
Reinhard
Hallo Reinhard,
Klappt leider auch nicht.
Das es wahrscheinlich mit Citrix zu tun hat, habe ich auch schon vermutet.
Trotzdem Danke
Gruß
Arnold
Das es wahrscheinlich mit Citrix zu tun hat, habe ich auch
schon vermutet.
Hi Arnold,
vielleicht klappt es ja irgendwie so:
Option Explicit
'
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, \_
ByVal lpWindowName As String) As Long
Private 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 Schaltfläche1\_BeiKlick()
Call ExcelVorne(True)
If Range("A1") = 0 Then
MsgBox "Zelle leer", vbInformation, "Eingabe"
Range("A1").Select
Else
Range("B1").Select
End If
'Call ExcelVorne(False)
End Sub
'
Public Sub ExcelVorne(Optional yesno As Boolean = True)
Dim hwnd As Long
Dim n As Long
If yesno = True Then n = -1 Else n = -2
hwnd = FindWindow("XLMAIN", vbNullString)
Call SetWindowPos(hwnd, n, 0, 0, 0, 0, &H3)
Call SetWindowPos(hwnd, n, 0, 0, 0, 0, &H3)
End Sub
Gruß
Reinhard
Grüezi Arnold
Bei folgender Sub in einem Arbeitsblatt mit einer Schaltfläche
als Auslöser verliert Excel 2003 (in Citrix-Umgebung) den
Fokus. Das heisst, das ein beliebiges anderes Fenster sich vor
das Excel-Fenster schiebt, bzw. in Excel keine Eingaben mehr
möglich sind ohne das Fenster manuell wieder zu aktivieren.:
Setze mal die Eigenscaft ‚TakeFocusOnClick‘ der Schaltfläce auf ‚False‘ und teste ob dies dann noch immer so ist.
Mit freundlichen Grüssen
Thomas Ramel
[Win XP Pro SP-2 / xl2003 SP-3]