Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
724to728
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
724to728
724to728
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Permanentes Prüfen auf Excel-Instanz

Permanentes Prüfen auf Excel-Instanz
28.01.2006 12:45:12
Peter
Servus Pro´s ,
Hab mal ne Frage. Wie kann ich in einer xls Mappe permanent prüfen ob noch eine zweite Excel Instanz geöffnet wurde. Hab in der Recherche folgenden Code gefunden (glaube Reinhardt hat in gepostet), die Frage ist jetzt nur wenn ich den Code mit Application.OnTime, sagen wir mal alle 5 Minuten starte, wird das ganze wohl sehr Prozesorlastig.
Gibt es eine einfachere Methode, mal vereinfacht ausgedrückt, sowas wie eine Klasse die ein Ereignis zurückgibt wenn eine neue Application geöffnet wird ?
Danke vorab für die Hilfe.


      
Option Explicit
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, _
    
ByVal wCmd As LongAs Long
Private Declare Function GetClassName& Lib "user32" Alias _
    "GetClassNameA" (
ByVal hwnd As LongByVal lpClassName _
    
As StringByVal 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
    
End If
    hwnd = GetWindow(hwnd, GW_HWNDNEXT)
Loop While hwnd <> 0
ExcelInstanzen = Instanzen
End Function 


MfG
Peter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Permanentes Prüfen auf Excel-Instanz
28.01.2006 13:11:57
Ramses
Hallo
das kannst du alle 15 Sekunden oder öfter prüfen lassen.
Das geht auch auf normalen Rechnern "ratzfatz".
Da merkst du nix von :-)
Gruss Rainer
AW: Permanentes Prüfen auf Excel-Instanz
28.01.2006 13:17:27
Peter
Servus Rainer,
erstmal danke für die antwort.
Ich habe in der xls. Mappe um die es hier geht ziemlich viel Code und bin mir nicht ganz sicher ob sich das nicht a) gegenseitig stört ? und b) nicht doch Performenclastig ist.
Bsp.: Das ganze mit der Application soll ja im verborgenen laufen.
Gleichzeitig soll gerade ein anderer Code gestartet werden, dachte halt das behindert sich ?
Werd wohl mal einfach viele Praxistest machen und testen. Danke
Wenn noch jemandem was einfällt man lernt nie aus.
MfG Peter
Anzeige
AW: Permanentes Prüfen auf Excel-Instanz
28.01.2006 13:34:54
Ramses
Hallo
Parallele Ausführung von Code ist sowieso nicht möglich in EXCEL.
Von daher tut es nix zur Sache.
"...Bsp.: Das ganze mit der Application soll ja im verborgenen laufen..."
Die Dauer der Abfrage kann ich auf meinem Laptop mit "GetTickCount" gar nicht messen.
Ich erhalte "0" Ticks ;-)
Das sollte auch auf einem Uraltrechner ohne Performanceverlust zu erledigen sein
Gruss Rainer
AW: Permanentes Prüfen auf Excel-Instanz
28.01.2006 13:54:03
Peter
Servus Rainer,
na gut ich gebe mich geschlagen ;-) . Danke
MfG Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige