Tipp 0341 Bibliotheken dynamisch laden und entfernen
Autor/Einsender:
Datum:
  Roger Fessner
27.06.2003
Entwicklungsumgebung:   Excel 97
Verweis hinzufügen
Zum Einbinden von Bibliotheken zur Laufzeit gibt es zwei Möglichkeiten, zum Einen mit der AddFromGuid-Methode, wobei der global eindeutige Bezeichner (GUID) des Verweises verwendet wird und zum Anderen mit der AddFromFile-Methode, mit der einem Projekt ein Verweis aus einer Datei hinzugefügt wird. Dazu muss natürlich der Name der Datei und ggf. auch der Pfad bekannt sein.
Verweis entfernen
Über die Methode Remove wird der Verweis auf eine eingebundene Bibliothek wieder aus der Arbeitsmappe entfernt. Die Verweise auf die beiden Bibliotheken Excel und VBA können nicht entfernt werden, da sie sogenannte Standardverweise sind ("Mindestausstattung").
 
Option Explicit

Private Const BIBLIO_FILENAME As String = "Fm20.dll"
Private Const BIBLIO_NAME As String = "MSForms"

Private Sub AddReferenceFromFile()
  Dim objVBE As Object
  Dim oRef As Object

  Dim blnFound As Boolean

  On Error GoTo err_Handler
  Set objVBE = ActiveWorkbook.VBProject.References

  For Each oRef In objVBE
    If UCase(oRef.Name) = UCase(BIBLIO_NAME) Then
      blnFound = True
      Exit For
    End If
  Next

  If Not blnFound Then
    objVBE.AddFromFile BIBLIO_FILENAME
  End If

exit_Sub:
  Set objVBE = Nothing
  On Error GoTo 0
  Exit Sub

err_Handler:
  MsgBox "Fehler beim Laden der Datei " & BIBLIO_FILENAME, _
         Err.Description, vbOKOnly + vbCritical
  Resume exit_Sub
End Sub

Public Sub RemoveReferenceInProject()
  Dim objVBE As Object
  Dim oRef As Object

  On Error Resume Next
  Set objVBE = ActiveWorkbook.VBProject.References

  For Each oRef In objVBE
    If UCase(oRef.Name) = UCase(BIBLIO_NAME) Then
      objVBE.Remove objVBE(oRef.Name)
      Exit For
    End If
  Next

  Set objVBE = Nothing
  On Error GoTo 0
End Sub
 
Informationen zu Objekt-Bibliotheken ausgeben
Mit folgender Prozedur können die Verweise, die in der angegebenen Arbeitsmappe gesetzt sind, mit den entsprechenden Informationen im Direktfenster aufgelistet werden.
 
Public Sub ListReferencesInProject()
  Dim objVBE As Object
  Dim oRef As Object
  Dim strTemp As String

  On Error Resume Next
  Set objVBE = ActiveWorkbook.VBProject.References

  For Each oRef In objVBE
    strTemp = "Bezeichnung: " & oRef.Description & vbCrLf
    strTemp = strTemp & "Name: " & oRef.Name & vbCrLf
    strTemp = strTemp & "Pfad: " & oRef.FullPath & vbCrLf
    strTemp = strTemp & "GUID: " & oRef.GUID & vbCrLf
    strTemp = strTemp & "Standard-Verweis: " & oRef.BuiltIn
    Debug.Print strTemp & vbCrLf
  Next

  Set objVBE = Nothing
  On Error GoTo 0
End Sub
 
Hinweise
Um diesen Tipp ausführen zu können, muss die Bibliothek für die VBE-Programmierung (Visual Basic For Applications Extensibility 5.3) nicht eingebunden werden. Sie müsste nur eingebunden werden, wenn man herausfinden möchte, welche Objekte, Methoden und Eigenschaften in der Bibliothek enthalten sind.
Die im Download befindliche *.bas-Datei kann in Excel im VB-Editor importiert werden.

Windows-Version
95
98/SE
ME
NT
2000
XP
Vista
Win 7
Excel-Version
95
97
2000
2002 (XP)
2003
2007
2010


Download  (2,2 kB) Downloads bisher: [ 1210 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Projekte | Tutorials | API-Referenz | VB-/VBA-Tipps | Komponenten | Bücherecke | VB/VBA-Forum | VB.Net-Forum | DirectX-Forum | Foren-Archiv | DirectX | VB.Net-Tipps | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Samstag, 23. Juli 2011