2017-07-17 2 views
0

Meine Funktion extrahiert Wechselkurs von einer externen Website.Fehler 91 bei wiederholter Extraktion von externem Link

Ich kann eine einzelne Rate für ein bestimmtes Datum extrahieren.

Ich bekomme Fehler 91, wenn ich eine Liste von verschiedenen Daten habe und kopiere die Funktion auf die ganze Liste. (Ich sage Excel, diese Funktion für jedes bestimmte Datum anzuwenden.)

Hier ist mein Code (der Kredit für xDoc-Objekt Erstellung Ansatz geht zu AnalystCave at analystcave.com/vba-xml- working-xml-files/):

Als Beispiel für den Fehler habe ich diese kleine Excel-Datei auf Dropbox (https://www.dropbox.com/s/dg2j6o4xjr9v488/FX%20Rate%20Extraction%20Error%20%28stackoverflow%29.xlsx?dl=0) mit einer Liste Daten erstellt. Die erste wird mit dieser Funktion vervollständigt und sollte die Rate leicht ohne Fehler extrahieren. Nach dem Kopieren der Formel auf alle anderen Daten tritt ein Fehler 91 auf.

Antwort

0

Fehler 91 bedeutet, dass ein Objekt nicht gesetzt ist.

Ihre wahrscheinlichste Wette ist, dass xDoc nicht immer von der angegebenen URL abgerufen werden kann. Wenn ich zu http://cbu.uz/ru/arkhiv-kursov-valyut/xml/usd/14.01.17 gehe (drittes Datum in Blatt), erhalten Sie XML für 11.07.2017. In der Tat, wenn Sie zu http://cbu.uz/ru/arkhiv-kursov-valyut/xml gehen, werden Sie sehen, dass alle Datensätze angeboten werden, sind für dieses bestimmte Datum.

Put Fehler um Umgang mit nicht in der Lage xDoc zu holen und anschließend nicht in der Lage xParent und getRateChild zu setzen und es soll wie ein Zauber funktionieren.

+0

@Chrotensie, danke für Ihren Kommentar. Ja, wenn ich das Datum weglasse und die URL kürze, wird es immer noch die Rate abrufen, wie Sie gesagt haben. Das Problem ist, dass es immer das neueste verfügbare abrufen wird (und der 11.07.2017 ist der letzte von der Zentralbank). Um das vorherige Datum abzurufen, muss ich den ursprünglichen Link verwenden. Ich bin mir nicht sicher, ob ich wirklich Ihren Rat bezüglich der Fehlerbehandlung verstanden habe (ich bin nicht so kompetent in XML; tatsächlich bin ich nur ein Amateur in der VBA-Programmierung) und bin mir nicht sicher, ob dieser Ratschlag gilt verwende weiterhin die ursprüngliche URL. –

+0

@Chrotensie, auch, der Grund, warum Sie erhalten XML für 11.07.2017 statt 14.01.2017 ist, dass das Datum sollte das richtige Format sein. Wenn Sie bemerken, habe ich dafür eine spezielle Zeile im Code 'corrDate', auf die dann ein Schrägstrich in' xDoc.Load' folgt. –

Verwandte Themen