|
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
|
|
|
|
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: [ 1221 ]
|
|
|