Wie soll (kann) man die Bibliothek "Microsoft Office 14.0 Access Database Engine Object Library" mittel VBA einbinden?
Weis jemand Bescheid (oder eine Musterdatei)
Bin leider über googeln nicht weitergekommen.
Gruß
Lorenz
Sub ListReferences()
Dim ref As Reference
For Each ref In Application.VBE.ActiveVBProject.References
Debug.Print ref.Name & " : " & ref.GUID & " - " & ref.Major & " - " & ref.Minor & " - " _
& ref.FullPath
Next
End Sub
Sub TestGuid()
AddReferenceFromGuid "{632B6060-BBC6-11D2-A329-006097C4E476}", 1, 0 ' Windows Media _
Encoder
End Sub
Sub TestFile()
AddReferenceFromFile "C:\Program Files (x86)\Windows Media Components\Encoder\wmenc.exe" ' _
Windows Media Encoder"
End Sub
Sub AddReferenceFromFile(strName As String)
Dim blnRefExists As Boolean
Dim ref As Reference
For Each ref In Application.VBE.ActiveVBProject.References
If ref.FullPath = strName Then
blnRefExists = True
MsgBox "Verweis auf """ & ref.Name & """ war schon gesetzt!"
Exit For
End If
Next
If Not blnRefExists Then
On Error Resume Next
Set ref = Application.VBE.ActiveVBProject.References.AddFromFile(strName)
If Err.Number 0 Then
MsgBox "Verweis auf """ & strName & """ konnte nicht erstellt werden!"
Else
MsgBox "Verweis auf """ & strName & """ wurde erstellt!"
End If
End If
End Sub
Sub AddReferenceFromGuid(strGUID As String, lngMajor As Long, lngMinor As Long)
Dim blnRefExists As Boolean
Dim ref As Reference
For Each ref In Application.VBE.ActiveVBProject.References
If ref.GUID = strGUID Then
blnRefExists = True
If ref.Major lngMajor Or ref.Minor lngMinor Then
MsgBox "Versionsnummer von " & ref.Name & " nicht identisch!"
Else
MsgBox "Verweis auf """ & ref.Name & """ war schon gesetzt!"
End If
Exit For
End If
Next
If Not blnRefExists Then
On Error Resume Next
Set ref = Application.VBE.ActiveVBProject.References.AddFromGuid(strGUID, lngMajor, _
lngMinor)
If Err.Number 0 Then
MsgBox "Verweis konnte nicht erstellt werden!" & vbCrLf _
& "GUID: " & strGUID
Else
MsgBox "Verweis auf """ & ref.Name & """ wurde erstellt!"
End If
End If
End Sub
Microsoft Visual Basic für Applikationen öffnen: Starte Excel und öffne den VBA-Editor, indem du Alt + F11 drückst.
Verweise aktivieren: Gehe zum Menü Extras und wähle Verweise. Suche nach der Bibliothek „Microsoft Office 14.0 Access Database Engine Object Library“ und setze ein Häkchen.
VBA Bibliothek einbinden: Um die Bibliothek programmatisch einzubinden, kannst du die folgenden Subroutinen verwenden. Diese helfen dir, Verweise sowohl per GUID als auch per Datei hinzuzufügen.
Sub AddReferenceFromFile(strName As String)
Dim blnRefExists As Boolean
Dim ref As Reference
For Each ref In Application.VBE.ActiveVBProject.References
If ref.FullPath = strName Then
blnRefExists = True
MsgBox "Verweis auf """ & ref.Name & """ war schon gesetzt!"
Exit For
End If
Next
If Not blnRefExists Then
On Error Resume Next
Set ref = Application.VBE.ActiveVBProject.References.AddFromFile(strName)
If Err.Number <> 0 Then
MsgBox "Verweis auf """ & strName & """ konnte nicht erstellt werden!"
Else
MsgBox "Verweis auf """ & strName & """ wurde erstellt!"
End If
End If
End Sub
Fehler: Benutzerdefinierter Typ nicht definiert: Dieser Fehler tritt auf, wenn der benötigte Verweis nicht gesetzt ist. Stelle sicher, dass die „Microsoft Office 14.0 Access Database Engine Object Library“ aktiviert ist.
Problem mit Sicherheitseinstellungen: Manchmal können die Sicherheitseinstellungen in Excel die Verwendung von VBA verweisen. Überprüfe die Einstellungen unter Datei > Optionen > Trust Center > Trust Center-Einstellungen.
Eine alternative Methode zur Aktivierung von Verweisen ist die Nutzung von AddFromFile oder AddFromGuid, um Verweise dynamisch hinzuzufügen. Diese Methoden können nützlich sein, wenn du die Datei an verschiedenen Orten gespeichert hast oder wenn du verschiedene Versionen der Bibliothek verwendest.
Hier sind Beispiele für das Hinzufügen eines Verweises über die GUID und den Dateipfad:
Sub TestGuid()
AddReferenceFromGuid "{632B6060-BBC6-11D2-A329-006097C4E476}", 1, 0 ' Windows Media Encoder
End Sub
Sub TestFile()
AddReferenceFromFile "C:\Program Files (x86)\Windows Media Components\Encoder\wmenc.exe" ' Windows Media Encoder
End Sub
Diese Subroutinen zeigen, wie du spezifische Bibliotheken zu deinem VBA-Projekt hinzufügen kannst.
ListReferences()-Subroutine, um alle aktiven Verweise aufzulisten und zu überprüfen, ob die benötigten Verweise korrekt gesetzt sind.1. Wie kann ich sicherstellen, dass der Verweis immer gesetzt ist?
Du kannst die oben genannten Subroutinen verwenden, um beim Öffnen der Datei automatisch die benötigten Verweise hinzuzufügen.
2. Wo finde ich die „Microsoft Office 14.0 Object Library“?
Diese Bibliothek ist typischerweise unter den Verweisen in den Excel-Extras zu finden. Stelle sicher, dass die richtige Version von Microsoft Office installiert ist.
3. Was mache ich, wenn ich einen Compilerfehler erhalte?
Überprüfe, ob alle benötigten Verweise aktiviert sind und dass du die richtige Version von Excel verwendest. Manchmal hilft es auch, den VBA-Editor neu zu starten.