Vorschlag

Statt eingebundenen Verweisen lieber Late Binding verwenden.

Zur Vermeidung von

  • Programmierfehler

Beschreibung

Man kann Objekte auch erst zur Laufzeit in Access einbinden. Dies ist besonders bei Verwendung von ActiveX-Elementen zu bevorzugen.

Mit Verweis auf Excel-Object-Library Early Binding:

Dim xlApp As Excel.Application
Set xlApp = New Excel.Application


Mittels Late Binding:

Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")


Mittels Konstante für die bedingte Kompilierung kann während der Entwicklungphase Early Binding genutzt werden. Vor der Weitergabe der Anwendung ist nur noch die Compiler-Konstante zu ändern, um auf Late Binding umzustellen.

#Const ExcelEarlyBinding = 1
'  kann auch als Argument für bedingte Kompilierung
'  in den VBA-Projekteigenschaften gespeichert werden
Sub BeispielD09b()
#If ExcelEarlyBinding Then Dim xlApp As Excel.Application #Else Dim xlApp As Object #End If
Set xlApp = CreateObject("Excel.Application") '… Set xlApp = Nothing
End Sub

Verwandte Hinweise