Microsoft Excel

Herbers Excel/VBA-Archiv

Programmstart überwachen

Betrifft: Programmstart überwachen von: Dieter
Geschrieben am: 19.09.2004 21:55:02

Hallo Excellenzen,

kann man mit VBA den Start eines beliebigen Programms überwachen?
Ich meine, wenn jemand z.B. Word startet, dass dann eine Meldungsbox
erscheint und falls ja, wie geht das?

Grüße Dieter

  


Betrifft: AW: Programmstart überwachen von: K.Rola
Geschrieben am: 19.09.2004 22:50:11

Hallo,

falls du auf deinem PC WMI installiert hast, gehts damit relativ einfach.
Allerdings jedes beliebige Programm ist schwierig, besser, du könntest das
einschränken, sehe den Sinn auch nicht so recht.
Auf jeden Fall ist es für deine VBA-Kenntnisse schon eine Herausforderung,
falls dann etwas nicht gleich klappt.
Es geht aber auch ohne WMI. Falls du ein beispiel möchtest, nochmal melden.

Gruß K.Rola


  


Betrifft: AW: Programmstart überwachen von: Thomas Risi
Geschrieben am: 19.09.2004 22:54:28

Hallo Dieter,

ich würde mir wohl einen Service programmieren ;)

Aber es wird wohl auch mit einer Lowlevel-Lösung funzen. Nimm einen Timer der eine Object-Variable überwacht.

Ein Beispiel ...


      
Option Explicit

Dim wrd As Object

Private Sub TimerControl1_OnTime()
    
    
On Error Resume Next
    
    
Set wrd = Nothing
    
Set wrd = GetObject(, "word.application")
    
    
If Not wrd Is Nothing Then
       [A1] = 
"Word wurde gestartet ..."
    
Else
       [A1] = 
"Word ist geschlossen ..."
    
End If
    
End Sub

Sub start()
    Range(
"A1").Clear
    TimerControl1.start
End Sub

Sub deactivate()
    TimerControl1.deactivate
End Sub 


     Code eingefügt mit Syntaxhighlighter 3.0

Gruß
Thomas

Risi Thomas Softwareentwicklung




  


Betrifft: AW: Programmstart überwachen von: Frank
Geschrieben am: 19.09.2004 22:59:01

Hallo Thomas;

"Lowlevel-Lösung" ist für mich ein Böhmisches Dorf. Beachte bitte meinen VBA-Level.
Woher nehme ich einen Timer?

Grüße Frank


  


Betrifft: AW: Programmstart überwachen von: Thomas Risi
Geschrieben am: 19.09.2004 23:13:54

Wie jetzt, Dieter oder Frank?

Das TimerControl gibt's auf meiner Webseite. Du kannst aber auch die OnTime-Methode von Excel verwenden. Beispiele hierzu gibt's vermutlich genug in der Recherche. Es muß nur dieser Code (bzgl. Word) ablaufen.


      
On Error Resume Next
    
Set wrd = Nothing
Set wrd = GetObject(, "word.application")

If Not wrd Is Nothing Then
   [A1] = 
"Word wurde gestartet ..."
Else
   [A1] = 
"Word ist geschlossen ..."
End If 


     Code eingefügt mit Syntaxhighlighter 3.0


Gruß
Thomas

Risi Thomas Softwareentwicklung




  


Betrifft: AW: Programmstart überwachen von: Frank
Geschrieben am: 19.09.2004 23:20:59

Hallo Thomas,

ich hab mich da einfach reingehägt, da mich das auch interessiert.
Danke für die Hinweise.

Grüße Frank