Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1448to1452
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Test Hyperlink-URL auf broken link

Test Hyperlink-URL auf broken link
29.09.2015 17:10:12
pawari
Einen herzlichen Gruß,
kann mir VBA-Laien bitte jemand helfen, eine userdefinierte Funktion zu bauen, mit der betehede Hyperlinks auf externe URLs getestet werden können, ob sie einen broken link beinhalten? Die Funktion soll den Hyperlink testen und WAHR oder FALSCH liefern, je nachdem, ob der Hyperlink funktioniert oder nicht. Geht das?
Ich nutze Office 2007 unter Windows 7.
Vielen Dank im Voraus.
pawari

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Test Hyperlink-URL auf broken link
29.09.2015 18:44:09
Michael
Hi pawari,
ob das so praxistauglich ist, weiß ich nicht, aber kopiere das mal in ein Modul (im VB-Editor: Einfügen/Modul):
Option Explicit
Public Function TestURL(r As Range) As Boolean
Dim sResult As String
sResult = GetHTTPResult(r.Value)
If InStr(sResult, "404") > 0 And InStr(sResult, "not found") > 0 Then
TestURL = False
Else
TestURL = True
End If
End Function
Function GetHTTPResult(sURL As String) As String
' Quelle u.a.:
' http://stackoverflow.com/questions/18163560/excel-vba-http-request-download-data-from-yahoo-finance
Dim XMLHTTP As Variant, sResult As String
Set XMLHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
XMLHTTP.Open "GET", sURL, False
XMLHTTP.Send
sResult = XMLHTTP.Status & " - " & XMLHTTP.StatusText & vbLf & XMLHTTP.ResponseText
Set XMLHTTP = Nothing
GetHTTPResult = sResult
End Function

Es wird nicht der Server "direkt" abgefragt, sondern der Text, den er zurückgibt, auf "404" und "not found" durchsucht.
Wenn der Hundezüchterverein Paris, Texas, auf seiner Seite stehen hat: we looked for the 404 most pulchritudinous dogs but more than 200 were not found, wird halt auch ein Fehler ausgegeben.
Außerdem kann das bei umfangreichen Linksammlungen schon mal dauern.
Schöne Grüße,
Michael

Anzeige
AW: Test Hyperlink-URL auf broken link
30.09.2015 11:34:05
pawari
Hallo Michael,
vielen Dank für Deine Hilfe. Die Funktion ist im Ergebnis leider nur teilweise wirksam. Sie bringt korrekt das Ergebnis WAHR, wenn die URL existiert. Sie gibt aber auch WAHR zurück, wenn die URL nicht vorhanden ist.
Getestet mit:
http://www.boerse-frankfurt.de/de/aktien/+CA84841Q1090: Ergebnis WAHR, URL besteht
http://www.boerse-frankfurt.de/de/aktien/+DE0005391908: Ergebnis WAHR, URL existiert nicht
Wenn ich den Makrogenerator einsetze und den Link anklicke, generiert EXCEL den Code "Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True" und der Aufruf öffnet ein Nachrichtenfenster mit dem Inhalt "http://www.boerse-frankfurt.de/de/aktien/+DE0005391908 konnte nicht geöffnet werden. Die angeforderten Informationen können nicht heruntergeladen werden."
Hilft dies weiter?
Gruß, pawari

Anzeige
wer anders bitte
30.09.2015 15:34:58
Michael
Hallo pawari,
dann ist das alles nicht so einfach!
Wenn Du den unteren link händisch im Browser eingibst, erscheint nämlich eine Seite der Börse und *keine* Fehlermeldung á la "404 not found".
Tatsächlich kannst Du hier anscheinend *irgendwas* eingeben (z.B. http://www.boerse-frankfurt.de/de/blabla), und es erscheint auch *kein* Fehler.
Das liegt daran, daß deren Server offensichtlich so programmiert ist, daß er alle Fehleingaben abfängt und immer auf die Hauptseite leitet.
Naja, das ist alles in allem ein anderes Problem, für das ich im Moment leider keine Zeit habe. Ich stelle den Thread auf offen.
Schöne Grüße,
Michael

Anzeige
AW: wer anders bitte
03.10.2015 23:24:30
pawari
Michael, danke für den Versuch. Ich kann auch ohne Lösung leben. Beste Grüße, pawari

sorry! Vielen Dank für die Rückmeldung owT
05.10.2015 17:38:23
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige