Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Prüfen, bis...

Forumthread: Prüfen, bis...

Prüfen, bis...
Gegga
Hallo da draussen
benutze folgenden Code:
Option Explicit
Sub Call_InstanceCheck()
'MsgBox InstanceCheck("outlook")
If InstanceCheck("Outlook") = False Then
UF_HINWEIS.Show
Else
If InstanceCheck("Outlook") = True Then
UF_NEUE_BESTELLUNG_EINTRAGEN.Show
End If
End If
End Sub

Function InstanceCheck(Server As String) As Boolean
Dim myInstance As Object
InstanceCheck = False
On Error Resume Next
Select Case UCase(Server)
Case "EXCEL"
Set myInstance = GetObject(, "excel.application")
Case "OUTLOOK"
Set myInstance = GetObject(, "outlook.application")
Case "WORD"
Set myInstance = GetObject(, "word.application")
End Select
If Not myInstance Is Nothing Then InstanceCheck = True
On Error GoTo 0
Set myInstance = Nothing
End Function

Bei UF_HINWEIS ist ein CommandButton der inaktiv ist und aktiv werden soll, sobald Outlook geöffnet worden ist.
Wie kann ich oben genannten Code ind eine "Schleife" legen (evtl. Sekundentakt?) wo überprüft wird ob Outlook nun geöffnet ist und der ComButton aktiv (enabled) wird?
Gruss Gegga
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Prüfen, bis...
15.09.2010 13:15:07
JogyB
Hallo Gegga,
das hier in das UserForm:
Private Sub UserForm_Activate()
Call checkOutlookinForm
End Sub
Und das hier in ein allgemeines Modul:
Sub checkOutlookinForm()
If Not IsFormLoaded("UF_HINWEIS") Then Exit Sub
If InstanceCheck("OUTLOOK") Then
UF_HINWEIS.CommandButton1.Enabled = True
Else
Application.OnTime Now + TimeSerial(0, 0, 1), "checkOutlookinForm"
End If
End Sub

Achtung: Das Formular kann noch geschlossen werden, das musst Du ggf. abfangen.
Gruß, Jogy
Anzeige
AW: Prüfen, bis... DANKE!!!!! OwT
15.09.2010 13:50:22
Gegga
da fehlt noch was...
15.09.2010 16:47:20
JogyB
Hallo Gegga,
das habe ich vergessen:
Function IsFormLoaded(ByVal fName As String) As Boolean
'Prüfen, ob Formular geladen
Dim i As Integer
IsFormLoaded = False
For i = 0 To UserForms.COUNT - 1
If LCase$(UserForms(i).Name) = LCase$(fName) Then
IsFormLoaded = True
Exit For
End If
Next i
End Function

Gruß, Jogy
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige