Attribute VB_Name = "udf_printRef" '------------------------------------------------------------------------------- 'File : udf_printRef.bas ' Copyright mpl by ERB software ' All rights reserved ' http://wiki.yaslaw.info/dokuwiki/doku.php/vba/access/functions/printref 'Environment : VBA 2010 + 'Version : 1.1.0 'Name : udf_printRef 'Author : Stefan Erb (ERS) 'History : 02.02.2016 - ERS - Creation ' : 10.02.2017 - ERS - Soweit angepasst, dass keine weiteren Refernzen gesetzt werden müssen '------------------------------------------------------------------------------- Option Explicit '------------------------------------------------------------------------------- ' !!! WICHTIG !!! ' Diese Funktion verwendet die Funktion printList() http://wiki.yaslaw.info/doku.php/vba/functions/printlist ' Diese Funktion muss also auc im Projekt vorhanden sein '------------------------------------------------------------------------------- 'MS Applikation in der die Klasse eingesetzt wird. Es gibt einige Spezifische Dinge #Const C_ACCESS = "ACCESS" #Const C_EXCEL = "EXCEL" 'Auswahl #Const ms_product = C_ACCESS '/** ' * Diese Methode schreibt die aktuellen Referenzen von MS Access VBA in den Direktbereich ' * @param enuPrintListOutputMethode ' * Art der Rückgabe: Standart ist das Direktfenster. Alternativ kann man auch als Rückgabewert der ' * Funktion oder in den Zwieschnepseicher des PCs schreiben. ' * Die Auswahlen lassen sich auch kombinieren: prConsole+prClipboard ' * @retrun String Resultat oder Fehlermeldung ' */ Public Function printRef(Optional ByVal iReturn As enuPrintListOutputMethode = prListConsole) As String Dim vbProj As Object 'VBProject #If ms_product = C_ACCESS Then Set vbProj = application.VBE.VBProjects(1) #ElseIf ms_product = C_EXCEL Then Set vbProj = ThisWorkbook.VBProject #Else Err.Raise vbObjectError, "MS Product is not Access and not Excel" #End If 'Header definieren Dim hdr() As Variant: hdr = Array("Name", "Description", "FullPath") 'Die Referenzen auswerten Dim refs As Object: Set refs = vbProj.References 'VBIDE.References Dim data() As Variant: ReDim data(1 To refs.count) Dim refNr As Long: For refNr = 1 To refs.count data(refNr) = Array(refs(refNr).Name, refs(refNr).Description, refs(refNr).FullPath) Next refNr printRef = CStr(printList(data, hdr, iReturn)) End Function