Mittels folgendem Code (welchen ich übrigens dank superguter Forumshilfe hier zusammengebaut habe) prüfe ich in einer Arbeitsmappe (diese hat unzählige Tabellenblätter mit verschiedenen Zelleninhalten) alle gefundenen Hyperlinks in der Datei auf ihre Funktionsweise hin.
Option Explicit
Private Sub CommandButton1_Click()
Dim shLinkList As Worksheet
Dim L As Long, lngIndex As Long
Dim HL As Hyperlink
On Error Resume Next
Set shLinkList = Worksheets.Add(, Sheets(Sheets.Count))
With ListBox1
For lngIndex = 0 To .ListCount - 1
If Not .Selected(lngIndex) Then
If .List(lngIndex, 0) shLinkList.Name Then
For Each HL In Sheets(.List(lngIndex, 0)).Hyperlinks
L = L + 1
shLinkList.Cells(L, 1) = Sheets(.List(lngIndex, 0)).Name
If TypeOf HL.Parent Is Range Then
shLinkList.Cells(L, 2) = HL.Parent.Address
Else:
shLinkList.Cells(L, 2) = HL.Parent.Name
End If
shLinkList.Cells(L, 3) = HL.Address
shLinkList.Cells(L, 4) = (CheckLink(HL.Address) = 200)
Next
End If
End If
Next
End With
Set shLinkList = Nothing
frmCheckLinks.Hide
End Sub
Private Sub UserForm_Activate()
Dim objSh As Worksheet
frmCheckLinks.Caption = "Hyperlinks überprüfen/testen"
For Each objSh In ThisWorkbook.Worksheets
ListBox1.AddItem objSh.Name
Next
End Sub
Dieser Code funktioniert eigentlich soweit gut. Leider aber ist die Laufzeit fast unerträglich lange (klar doch: es hat auch hunderte von Hyperlinks zu prüfen)
Aber viel mehr stört mich, dass während des Makro-Laufs ständig die folgende Fehlermeldung angezeigt wird, welche ich dann quittieren muss:
Die Seite greift auf Informationen aus anderen Daten zu. Dies kann ein Sicherheitsproblem darstellen. Möchten Sie den Vorgang fortsetzen ?
Ich bestätige diese Meldung natürlich immer mit JA.
Dann geht das Makro weiter. Aber nach wenigen Minuten erscheint diese Meldung wieder.
Frage:
Kann ich diese Meldung irgendwie unterdrücken oder mittels Makro gleich automatisch mit JA beantworten lassen ?
Wie müsste ich meinen Code entsprechend umbauen oder anpassen, dass diese Meldung nicht mehr kommt und vielleicht sogar die Performance des Programms etwas schneller wird ?
Im Voraus herzlichen Dank für die Hilfe