Forums Neueste Beiträge
 

Vorhandensein einer Methode prüfen

25/12/2009 - 22:48 von Joerg Wolf | Report spam
Hi NG,

ich möchte gern per VBA prüfen, ob im Klassenmodul einer Tabelle eine
bestimmte Public-Routine vorhanden ist oder nicht.

Natürlich ohne die Methode aufzurufen.

weiß jemand, wie das geht?

Vielen Dank im Voraus

Frohe Weihnachten und Gruß

Jörg
 

Lesen sie die antworten

#1 Andreas Killer
26/12/2009 - 07:44 | Warnen spam
Joerg Wolf schrieb:

ich möchte gern per VBA prüfen, ob im Klassenmodul einer Tabelle eine
bestimmte Public-Routine vorhanden ist oder nicht.

Natürlich ohne die Methode aufzurufen.


Das einzigste was mir dazu einfàllt wàre Zugriff auf das VBA-Projekt
zu nehmen und den Code selber zu prüfen:

Sub Test()
Dim S As String
S = ReadModul("Tabelle1", ActiveWorkbook)
If InStr(S, "Worksheet_SelectionChange") > 0 Then _
MsgBox "Ist da"
End Sub

Private Function ReadModul(ByVal ModulName As String, _
Optional WB As Workbook = Nothing) As String
'Liest ein Modul ein
Dim CM As Object 'CodeModule
If WB Is Nothing Then Set WB = ActiveWorkbook
On Error GoTo ExitPoint
Set CM = WB.VBProject.VBComponents(ModulName).CodeModule
ReadModul = CM.Lines(1, CM.CountOfLines)
ExitPoint:
End Function

Das geht aber nur wenn das VB-Projekt selber nicht geschützt und der
Zugriff auf VB-Projekte generell freigegeben ist.

Ansonsten sehe ich keine Möglichkeit.

Andreas.

Ähnliche fragen