Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
568to572
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
568to572
568to572
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

zweite Excelinstanz verhindern erste Instanz aufru

zweite Excelinstanz verhindern erste Instanz aufru
14.02.2005 15:17:42
Reinhard
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

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zweite Excelinstanz verhindern erste Instanz a
RALF
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
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige