HERBERS Excel-Forum - das Archiv

Thema: Verweise anzeigen löschen hinzufügen | Herbers Excel-Forum

Verweise anzeigen löschen hinzufügen
Jörg-HH

Hallo zusammen,
NoNet hat mal dies irgendwo gepostet:

Dim r
If ThisWorkbook.Worksheets("VBA Verweise") Is Nothing Then
Sheets.Add
ActiveSheet.Name = "VBA Verweise"
For r = 1 To Application.VBE.ActiveVBProject.references.Count
If Application.VBE.ActiveVBProject.references(r).IsBroken Then _
Cells(r, 1) = "defekt"
Cells(r, 2) = Application.VBE.ActiveVBProject.references(r).Name
Cells(r, 3) = Application.VBE.ActiveVBProject.references(r).FullPath
Next
Columns.AutoFit
Wie krieg ich das in eine MsgBox?
VG Jörg

AW: Verweise anzeigen löschen hinzufügen
Hajo_Zi

Hallo Jörg,
schreibe für Cells(r, 2) =; Cells(r, 3) = MsgBox

Verweise in MsgBox anzeigen
NoNet

Hallo Jörg,
ich bin zwar ziemlich sicher, dass ich den Code in DIESER FORM nicht gepostet habe (;-), hier aber dennoch die gewünschte Änderung : Anzeige der Verweise in einer MsgBox :
Sub VerweiseInMsgBoxAnzeigen()
Dim tblVerweis As Object, objRef As Object, strVerweise As String, intV As Integer
On Error Resume Next
Set tblVerweis = Worksheets("VBA Verweise")
If tblVerweis Is Nothing Then
Sheets.Add
ActiveSheet.Name = "VBA Verweise"
End If
strVerweise = "VERWEISE in DIESEM VBA-Projekt : " & vbLf & vbLf
For Each objRef In Application.VBE.ActiveVBProject.references
intV = intV + 1
If objRef.IsBroken Then
strVerweise = strVerweise & intV & " : DEFEKT !" & vbLf & vbLf
Else
strVerweise = strVerweise & intV & " : " & objRef.Description & vbLf
strVerweise = strVerweise & objRef.fullpath & vbLf & vbLf
End If
Next
MsgBox strVerweise
End Sub

Gruß, NoNet
noch ein Schritt dazu...
Jörg-HH

Hi NoNet
das klappt ja schon, wie ich mir das dachte. - Wenn ich also die beiden Zeilen hinter dem Else wegließe, bekäme ich nur (falls vorhanden) die defekten Verweise angezeigt, oder? (Dumme Frage: "Defekt" heißt doch, ein Verweis ist angehakt, aber beim User nicht installiert, oder?)
Aber zeigt mir die Zeile den defekten Verweis an oder nur die Meldung "defekt"?
Du hast im 3.Teile des erwähnten Posts einen Abschnitt "Verweise ergänzen". Was macht der Abschnitt - setzt der ein Häkchen oder installiert der für einen angehakten, aber nicht vorhandenen Verweis die benötigte Datei?
Hintergrund ist: Meine Datei wird an Hinz und Kunz gesendet, und mindestens einer ist dabei, der die Web Components 11 nicht hat. Von dem krieg ich den Rücklauf immer so wieder, daß bei mir eine Fehlermeldung kommt, und im Verweis sitzt da ein Haken, aber daneben "nicht vorhanden"
Kann ich denn per Code beim Empfänger aus einem nicht-vorhandenen einen vorhandenen Verweis machen?
Grüße - Jörg
unerwartetes Testergebnis
Jörg-HH

...und gleich noch ein Post dazu:
Ich habe die Datei jetzt auf der Maschine geöffnet, auf der die WebComponents11 fehlten. Sie waren zwischenzeitlich vom Admin installiert worden.
Dennoch zeigte meine Datei eine Fehlermeldung (ein Objekt kann nicht geladen werden, weil auf diesem Rechner nicht vorhanden). Der Dialog zu den Verweisen zeigte nach wie vor WebComponents als nicht vorhanden.
Admin hat nochmal installiert - da waren plötzlich zweimal WebComp in der Übersicht - einmal nicht vorhanden, einmal ok. Ich nahm den Haken beim nichtvorhandenen raus, schloß und öffnete neu - dann war alles gut.
Also würde beim Öffnen der Datei bei fehlendem Verweis nicht die Box mit dem Hinweis erscheinen, sondern schon vorher abgebrochen werden (der Code steht im WB-open in DieseArbeitsmappe)
Gieps dafür ne Erklärung ? ;-((
Grüße - Jörg