zweite Excelinstanz verhindern erste Instanz aufru

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: zweite Excelinstanz verhindern erste Instanz aufru
von: Reinhard
Geschrieben am: 14.02.2005 15:17:42
Hallo Wissende,
folgender Code schliesst Excel wenn schon eine Excel-Instanz besteht.
Man sieht dann den Desktop von Windows.
Wie kann ich es erreichen dass zur ersten Instanz "gesprungen" wird?
Die untenstehende Funktion ExcelInstanzen liefert mir die Anzahl der Instanzen und mit folgendem Code wird dann der Start abgebrochen


in "DieseArbeitsmappe" von personl.xls:
Private Sub Workbook_Open()
If ExcelInstanzen() > 1 Then
    MsgBox "Excel läuft schon, diese Excel-Instanz wird geschlossen"
    Application.Quit
End If
End Sub

Gruß
Reinhard
In "Modul1" von personl.xls:
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, _
    ByVal wCmd As Long) As Long
Private Declare Function GetClassName& Lib "user32" Alias _
    "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName _
    As String, ByVal nMaxCount As Long)
Private Const GW_CHILD = 5
Private Const GW_HWNDNEXT = 2
Function ExcelInstanzen() As Long
Dim Länge&, Instanzen&, hwnd&
Dim Klassenname As String
hwnd = GetWindow(GetDesktopWindow, GW_CHILD)
Do
    Klassenname = String(51, 0)
    Länge = GetClassName&(hwnd, Klassenname, 50)
    If Left(Klassenname, Länge) = "XLMAIN" Then Instanzen = Instanzen + 1
    hwnd = GetWindow(hwnd, GW_HWNDNEXT)
Loop While hwnd <> 0
ExcelInstanzen = Instanzen
End Function

Bild

Betrifft: AW: zweite Excelinstanz verhindern erste Instanz a
von: RALF
Geschrieben am: 18.02.2005 09:42:46
Moin,

wenn Du Anwendungen schon durchsuchst, dann bring Dir gleich die Bezeichnung der ersten Excelinstanz mit und verwende diese
AppActivate Bezeichnung
müßte AppActivate "Microsoft Excel" lauten....bin aber nicht sicher...probiers
Gruß
RALF
 Bild

Beiträge aus den Excel-Beispielen zum Thema "zweite Excelinstanz verhindern erste Instanz aufru"