Office - Applikationen - gestartet!

Über eine Funktion soll geprüft werden ob eine der Officeapplikationen gestartet ist. Ist die Applikation geöffnet soll sie nicht geschlossen werden, sonst schon. Die "Sichtbarkeit" der Applikation wird über eine optionale Variable gesteuert.

Für PowerPoint muss eventuell auch folgendes beachtet werden:
http://vbanet.blogspot.com/2010/09/excel-powerpoint.html

Option Explicit
Dim blnTMP As Boolean
Public Sub Test()
Dim objApp As Object
On Error GoTo Fin
Set objApp = OffApp("Word")
'Set objApp = OffApp("Word", False)
'Set objApp = OffApp("Outlook")
'Set objApp = OffApp("Outlook", False)
'Set objApp = OffApp("PowerPoint")
'Set objApp = OffApp("PowerPoint, False")
'Set objApp = OffApp("ACCESS")
'Set objApp = OffApp("ACCESS", False)
If Not objApp Is Nothing Then
MsgBox objApp.Name & " Version: " & objApp.Version
Else
MsgBox "Applikation nicht installiert!"
End If
Fin:
If Not objApp Is Nothing Then
If blnTMP = True Then
objApp.Quit
blnTMP = False
End If
End If
Set objApp = Nothing
If Err.Number <> 0 Then MsgBox "Fehler: " & _
Err.Number & " " & Err.Description
End Sub
Private Function OffApp(ByVal strApp As String, _
Optional blnVisible As Boolean = True) As Object
Dim objApp As Object
On Error Resume Next
Set objApp = GetObject(, strApp & ".Application")
Select Case Err.Number
Case 429
Err.Clear
Set objApp = CreateObject(strApp & ".Application")
blnTMP = True
If blnVisible = True Then
On Error Resume Next
objApp.Visible = True
Err.Clear
End If
End Select
On Error GoTo 0
Set OffApp = objApp
Set objApp = Nothing
End Function

Kommentare

Beliebte Posts aus diesem Blog

Formeln - auch Array - per VBA eintragen...

Alle Dateien eines Ordners - Optional mit Unterordner

Excel -> Word in Textmarken (Bookmarks)...