kann ich mit VBA auch auf eine Konstante einer anderen Datei zugreifen, um zu prüfen, ob diese einen bestimmten Inhalt hat?
Hat jemand ein Codebeispiel dafür?
Danke euch!! :)
Public Property Get s() As String
s = "Ich bin die Konstante aus der anderen Mappe"
End Property
Und so greifst Du darauf zu:
Private Sub Zeige_meinen_Wert()
MsgBox Workbooks("Mappe1.xlsm").s
End Sub
Die "andere" Datei muss aber geöffnet sein.
Public Const p_cstrAppStand As String = #2/10/2022#
Sub finde_mich()
Dim VBComponente As Object
Const strFile As String = "Mappe1.xlsm" 'Hier den korrekten Zielmappennamen angeben
Dim SuchString As String
Dim Treffer As Integer
Dim i As Long
Dim CodeZeile As String
SuchString = "p_cstrAppStand" 'Hier den gesuchten String angeben - gesucht wird nach: enthält
For Each VBComponente In Workbooks(strFile).VBProject.VBComponents
' prüfen, ob das VBObject Codezeilen enthält
If VBComponente.CodeModule.countoflines 0 Then
For i = 1 To VBComponente.CodeModule.countoflines
CodeZeile = VBComponente.CodeModule.Lines(i, 1)
' prüfen, ob der Suchstring in der Codezeile vorkommt
If InStr(1, CodeZeile, SuchString) 0 Then
MsgBox CodeZeile, vbOKOnly, "Treffer!"
Exit Sub
End If
Next i
End If
Next VBComponente
End Sub
VG, Boris
='C:\Users\boris\OneDrive\Dokumente\Excel\Forum Testdateien\Mappe1.xlsm'!Version
Pfad natürlich anpassen.