PDA

Vollständige Version anzeigen : VBA Webabfrage - Anführungszeichen in der URL


Kris0603
31.07.2012, 14:20
Hallo,
ich habe folgendes Anliegen. Ich möchte mittels VBA eine Webabfrage durchführen. Das Problem ist jedoch, dass sic Anführungszeichen in der URL befinden und ich deshalb immer die Fehlermeldung "ungültige Webabfrage" erhalte.


eql_http = "http://test.de/Nrs=collection()/record[(p.000_product_nbr="579093")]"

With ActiveSheet.QueryTables.Add(Connection:="URL;" & eql_http, Destination:=Range("A1"))

Kann mir jemand helfen? Bin für jeden Rat dankbar.

EarlFred
31.07.2012, 14:26
Hallo,

um einem String ein Anführungszeichen mitzugeben, muss es verdoppelt werden:
eql_http = "http://test.de/Nrs=collection()/record[(p.000_product_nbr=""579093"")]"

Grüße
EarlFred

Kris0603
31.07.2012, 14:31
Das hatte ich bereits auch shcon ausprobiert. Aber erhalte nach wie vor die Fehlermeldung "Ungültige Webabfrage".
Das komische ist auch, dass ich die Webabfrage über Daten > Externe Daten importieren > Neue Webabfrage problemlos durchführen kann. Ein Aufzeichnen dieser Aktion mit einem Makro brachte auch das von Ihnen genannte Ergebnis, nämlich doppelte Anführungszeichen.

Führe ich jedoch dieses aufgenommene Makro unverändert aus erhalte ich direkt die Fehlermeldung.

Liegt es vielleicht an einer bestimmten Bibliothek, die ich nicht eingebunden habe?

EarlFred
31.07.2012, 14:39
Hallo,

mag auch sein, dass die eckigen Klammern stören.

Probier mal, diese zu maskieren ([ = %5b; ] = %5d):
eql_http = "http://test.de/nrs=collection()/record%5b(p.000_product_nbr=""579093"")%5d"
mit ergänzend maskierten Anführungszeichen (" = %22):
eql_http = "http://test.de/nrs=collection()/record%5b(p.000_product_nbr=%22579093%22)%5d"

Grüße
EarlFred

Kris0603
31.07.2012, 14:45
Es hat funktioniert!
Tausend Dank!