Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: datekk am September 26, 2019, 13:34:35

Titel: Hilfe bei "FollowHyerlink"
Beitrag von: datekk am September 26, 2019, 13:34:35
Hi,

ich möchte von Access aus eine Website öffnen. Das klappt bei "normalen Seiten ala http://www.access-o-mania.de" auch problemlos.

Ich möchte allerdings mit der URL Parameter übergeben. Diese Parameter enthalten u.a. Leerzeichen.

Beim Aufruf hängt sich Access erstmal eine weile fest und spuckt dann Fehler "490 - Datei konnte nicht geöffnet werden" aus.

Die URL mit debug.print ausgegeben und in den Browser reinkopiert klappt super, ohne Probleme.

Mit Replace die Leerzeichen durch %20 ersetzt... will FollowHyperlink auch nicht... gleicher Fehler...

Wie kann ich denn Access dazu bringen, diesen Link an den Browser zu übergeben und die Seite zu öffnen?

Titel: Re: Hilfe bei "FollowHyerlink"
Beitrag von: PhilS am September 26, 2019, 13:41:14
Zitat von: datekk am September 26, 2019, 13:34:35
Mit Replace die Leerzeichen durch %20 ersetzt... will FollowHyperlink auch nicht... gleicher Fehler...

Wie kann ich denn Access dazu bringen, diesen Link an den Browser zu übergeben und die Seite zu öffnen?
Gibt es evtl. weitere Sonderzeichen in der URL? - Stichwort: URLEncode
Kannst du einen konkreten Link als Beispiel posten?

Titel: Re: Hilfe bei "FollowHyerlink"
Beitrag von: Beaker s.a. am September 26, 2019, 17:45:14
@datekk
Versuche mal die Quotes zu maskieren
""" oder
""""
Bin mir nicht sicher; - das Direktfenster gibt in beiden Fällen ein einfaches "
zurück.
gruss ekkehard
Titel: Re: Hilfe bei "FollowHyerlink"
Beitrag von: MzKlMu am September 26, 2019, 18:02:45
Hallo,
oft hilft auch mit Chr(34) zu maskieren.
Titel: Re: Hilfe bei "FollowHyerlink"
Beitrag von: datekk am Oktober 15, 2019, 10:41:53
Es sind gar keine Anführungszeichen im Code enthalten die maskiert werden müssten.

Hier der Link. Normale Zeichen durch '*' geschwärzt:

https://******.com/****-*****/*******?name=****%20******%20&email=*******@******.com&a1=**********%20******%20*****%20*******%20%20**********%20****%20*******%20******%20********&a2=**%20(*****)%20******

Der Link enthält keine Umlaute. Alle Sonderzeichen sind noch zu sehen. Leerzeichen durch %20 ersetzt.

Gäbe es noch eine Alternative zu "FollowHyperlink"?
Titel: Re: Hilfe bei "FollowHyerlink"
Beitrag von: DF6GL am Oktober 15, 2019, 10:52:42
Hallo,

ZitatDie URL mit debug.print ausgegeben und in den Browser reinkopiert klappt super, ohne Probleme.

Kopiere danach die funktionierende URL aus dem Browser-Adressfeld und lege die als Literalstring im Code ab.

Ersetze manuell die darin enthaltenen Parameterwerte durch je einen individuellen Platzhalter (z. B "[Ort]") .

Ersetze sodann mit Replace die einzelnen Platzhalter durch die akt. Werte und  übergebe das Ergebnis an Followhyperlink.

strOrt="Musterstadt"
strUrl = Replace (strUrl, "[Ort]",strOrt)
FollowHyperlink strUrl


Alternative für Followhyperlink:  Shellexecute

Titel: Re: Hilfe bei "FollowHyerlink"
Beitrag von: MzKlMu am Oktober 15, 2019, 10:56:33
Hallo,
wenn ich nicht irre, ist die Länge des Pfades mit Dateinamen auf 64 Zeichen beschränkt.
Das gilt glaube ich auch für Shellexecute, müsste man mal probieren.
Titel: Re: Hilfe bei "FollowHyerlink"
Beitrag von: DF6GL am Oktober 15, 2019, 10:59:22
Hi,

Zitatdie Länge des Pfades mit Dateinamen
???
Titel: Re: Hilfe bei "FollowHyerlink"
Beitrag von: MzKlMu am Oktober 15, 2019, 11:01:33
Hallo,
meinte natürlich nicht Pfad, sondern die komplette URL.
Es ist das Alter.  ;D
Titel: Re: Hilfe bei "FollowHyerlink"
Beitrag von: DF6GL am Oktober 15, 2019, 11:11:53
Tja, solche Situationen kenne ich auch... :D
Titel: Re: Hilfe bei "FollowHyerlink"
Beitrag von: Joss am Oktober 15, 2019, 14:18:34
Zitat von: DF6GL am Oktober 15, 2019, 10:52:42Alternative für Followhyperlink:  Shellexecute


Shellexecute findest du z.B. hier:
VBA Tipp: Anwendung mit ShellExecute starten (http://dbwiki.net/wiki/VBA_Tipp:_Anwendung_mit_ShellExecute_starten#Standardbrowser_.C3.B6ffnen)

Gruß
Josef
Titel: Re: Hilfe bei "FollowHyerlink"
Beitrag von: Joss am Oktober 15, 2019, 14:45:36
@Klaus,

Zitat von: MzKlMu am Oktober 15, 2019, 10:56:33
wenn ich nicht irre, ist die Länge des Pfades mit Dateinamen auf 64 Zeichen beschränkt.


ich habe mal testweise einen Pfad zu einer Webseite mit 263 Zeichen mit der FollowHyperlink-Methode geöffnet.
Hat funktioniert.

Gruß
Josef
Titel: Re: Hilfe bei "FollowHyerlink"
Beitrag von: PhilS am Oktober 15, 2019, 15:58:30
Zitat von: datekk am Oktober 15, 2019, 10:41:53
Der Link enthält keine Umlaute. Alle Sonderzeichen sind noch zu sehen. Leerzeichen durch %20 ersetzt.
Die Klammern und das @-Symbol müssen meines Erachtens codiert werden.
Titel: Re: Hilfe bei "FollowHyerlink"
Beitrag von: datekk am November 26, 2019, 09:34:58
Das Problem lag bei Umlauten. Ich habe es wie folgt gelöst:




Sub OeffneLink(link as String)

Dim u1() as String
Dim u2() as String
Dim i as Integer

u1 = Split("ü,ä,ö,ß, ", ",")
u2 = Split("%C3%BC,%C3%A4,%C3%B6,%C3%9F,%20", ",")

For i = LBound(u1) To UBound(u2)

    link = Replace(link, u1(i), u2(i))

Next

FollowHyperlink link

End Sub
Titel: Re: Hilfe bei "FollowHyerlink"
Beitrag von: PhilS am November 26, 2019, 11:10:08
Zitat von: datekk am Oktober 15, 2019, 10:41:53
Der Link enthält keine Umlaute.
Zitat von: datekk am November 26, 2019, 09:34:58
Das Problem lag bei Umlauten. Ich habe es wie folgt gelöst:
Nun ja, gut dass du das Problem lösen konntest.
Titel: Re: Hilfe bei "FollowHyerlink"
Beitrag von: datekk am November 26, 2019, 11:58:29
Es war in der Tat so, dass der ursprüngliche Link keine Umlaute enthielt. Heute konnte ich es in einem Fall auf die Umlaute direkt zurückführen. Sobald wieder ein Zeichen auftaucht, welches Probleme bereitet, können wir dies ja in die Sub mit aufnehmen.

LG