Einführung "VBA mit Microsoft Office"

Code Snippet "VBA allgemein"

Prüfen, ob Excel geöffnet ist, bevor es aus anderer Applikation (z.B. Access) aufgerufen wird

'Verwendet GetObject oder CreateObject abhängig davon, ob Excel schon geöffnet ist
Private Function funStartExcel() As Excel.Application
  On Error GoTo ErrTrap:
  
  'kein "As Excel.Application": Angabe des Typs führt zu Automatisierungsfehler!!!
  Dim objAppExcel
  
  Set objAppExcel = GetObject(, "Excel.Application"' benutzt geöffnete Version von Excel
  Set funStartExcel = objAppExcel
  Exit Function
'-----------------------------------------------
ErrTrap:
  If Err = 429 Then
    Set objAppExcel = CreateObject("Excel.Application"'startet eine neue Kopie von Excel
    Set funStartExcel = objAppExcel
  Else
    MsgBox "Fehler: " & Err.Number & " " & Err.Description & vbCrLf & "Excel lässt sich nicht öffnen", vbCritical
  End If

End Function