Excel VBA: FollowHyperlink Einschränkung umgehen

Der FollowHyperlink Befehl kann eine URL mit Übergabeparametern aufrufen. Allerdings dürfen URL und Parameter insgesamt nur 256 Zeichen lang sein. Wenn man eine große Menge Parameter übertragen will, muss man tricksen.

Das VBA script legt hierfür einen HTML-file im Temp-Ordner des Windows-Systems an und füllt diesen mit einem Java-Script, das automatisch einen Link aufruft, der beliebig lang sein darf. Dieser lokale File wird dann mit FollowHyperlink aufgerufen.

Dabei wird die Funktion TempDirektory von www.kulpa-online.com benutzt.

Sub callHyperlink()

    ‘ Dimension all  variables.

    Dim DestFile As String

    Dim FileNum As Integer

    Dim i As Integer

    Dim param As String

    ‘initialize webadress param

    param = http://mypage.de/myfile.aspx?

    ‘fill param string like „a1=1&a2=2…&a256=256“

    For 1 = 1 To 256

            param = param + “&a” + CStr(i) + “=” + CStr(i)

    Next

     ‘ define destination html file  name.

    DestFile = TempDirectory + “foreward.html”

     ‘ Obtain next free file handle number.

    FileNum = FreeFile()

    ‘ create HTML file with redirection

    Print #FileNum, “<html>”

    Print #FileNum, “<head><script language=””javascript””>”

    Print #FileNum, “<!–“

    Print #FileNum, “var weitergeleitet = “”” + param + “””;”

    Print #FileNum, “function weiterleitung() {window.location = weitergeleitet;}”

    Print #FileNum, “setTimeout(“”weiterleitung()””, 3000);”

    Print #FileNum, “// –>”

    Print #FileNum, “</script>”

    Print #FileNum, “</head>”

    Print #FileNum, “<body>”

    Print #FileNum, “Please wait, you will be taken to the destination”

    Print #FileNum, “</body>”

    Print #FileNum, “</html>”

     ‘ Close destination file.

    Close #FileNum

    ActiveWorkbook.FollowHyperlink Address:=DestFile, _

    NewWindow:=True

End Sub

3 Comments on "Excel VBA: FollowHyperlink Einschränkung umgehen"


  1. Dann wird POST statt GET angewendet. Das ließe sich doch auch sicher anders lösen.


    1. Mist, jetzt wo es ein echtes Kommentar gibt und nicht nur ständig Spam kann ich die Kommentarfunktion nicht mehr abstellen…

Comments are closed.