User Tools

Site Tools


vba:functions:printref

This is an old revision of the document!


Table of Contents

[VBA] printRef()

Schreibt die VBA-Referenzen als Liste in lesbarer Form

Version 1.0.0 - 02.02.2016

Download udf_printref.bas (V-1.0.0)

Diese Funktion verwendet die UDF [VBA] printList()

Beispiele

Code

udf_printref.bas
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
 
vba/functions/printref.1456315274.txt.gz · Last modified: 24.02.2016 13:01:14 by yaslaw