coppi
Goto Top

Access 97 Application.FollowHyperlink gibt komische Zeichen aus

Application.FollowHyperlink setzt %20 an die stelle der Leerzeichen

Hallo noch mal.

Ich stehe nun vor folgendem Problem.
Mit einem Button rufe ich eine Webadresse auf, bei der Parameter aus einem Formular mit übergeben werden. Das funktioniert soweit.
Nur übergibt Access an Stellen, wo Leerzeichen stehen die Zeichenfolge %20.
Das möchte ich gern ändern, so daß an diesen Stellen ein + steht.
Wie kann man das machen?

Content-Key: 43494

Url: https://administrator.de/contentid/43494

Printed on: April 18, 2024 at 03:04 o'clock

Member: afri
afri Nov 01, 2006 at 19:24:43 (UTC)
Goto Top
Vielleicht hilft dir das ja:

Function EntfLeerz(s As String) As String
Dim t As String, i As Integer
t = ""
For i = 1 To Len(s)
If Mid(s, i, 1) <> " " Then t = t + Mid(s, i, 1)
Next
EntfLeerz = t
End Function
Member: Biber
Biber Nov 01, 2006 at 20:04:27 (UTC)
Goto Top
...das wird ja immer doller hier...

Man/frau könnte auch gefahrlos formulieren:
strWithSpaces="das issn Test"  
StrWithoutSpaces=Replace(strWithSpaces," ","+")  
'---oder--  
StrWithProz20="#Hardware"  
StrWithoutProz20=Replace(strWithProz20, "%20","+")  

Wenn also vorher überflüssiger- und IMHO auch schwachsinnigerweise die Leerzeichen (oder die "%20"-Maskierungen)
durch einfaches Plus "+" ersetzt werden, dann bleibt es auch in der Adressleiste des Browsers als "+" erhalten.

Als Demo den leicht angepassten VBA-Beispielschnipsel aus der Hilfe zu Application.FollowHyperlink:
Function GetUserAddress() As Boolean
    Dim strInput As String
    On Error GoTo Error_GetUserAddress
    strAdminHome = "https://administrator.de/index.php"  
    SubLinkKIDKAT = "mod=ver&kid=965662209&kat="  
    strInput = InputBox("Adresse", , "Hardware Support")  

    Application.FollowHyperlink strAdminHome, , True, , _
       SubLinkKIDKAT & Replace(strInput, " ", "+")  
    GetUserAddress = True

Exit_GetUserAddress:
    Exit Function

Error_GetUserAddress:
    MsgBox Err & ": " & Err.Description  
    GetUserAddress = False
    Resume Exit_GetUserAddress
End Function
---> der geht dann auf "Administrator.de/....Hardware+Support", auch laut Addressleiste.

@coppi
Ich denke nicht, dass Dir irgendein User diese Verschönerungsmaßnahme dankt oder es auch nur bemerkt.
P.S. Kannst Du bitte Deinen Beitrag von gestern ("Wie heißt die Funktion Application.FollowHyperlink" oder so ähnlich) als erledigt markieren?

Grüße
Biber