Загрузка цен акций из Yahoo Finance с помощью Excel VBA-Refresh BackgroungQuery:Fals
Привет
Загрузка цен акций из Yahoo Finance по списку действительных кодов акций работает нормально, например
AA, AXP, BA, C, CAT, D etc.
Используемая кодировка кавычек запроса выглядит следующим образом:
QueryQuote:
With ActiveSheet.QueryTables.Add(Connection:="URL;" & qurl, Destination:=DataSheet.Range("C7")) .BackgroundQuery = True .TablesOnlyFromHTML = False .Refresh BackgroundQuery:=False .SaveData = True End With Range("C7").CurrentRegion.TextToColumns Destination:=Range("C7"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=True, Space:=False, other:=False Range("C1:I1").Select Selection.ColumnWidth = 8
Проблема, с которой я сталкиваюсь, заключается в том, что если список биржевых кодов включает недопустимый код (в этом примере я использовал " VVV " или биржевой код, который действителен, но отсутствует в базе данных Yahoo на конкретную дату загрузки, отображается следующее сообщение об ошибке:
"Run Time Error 1004 Unable To open<br /> <br /> http://chart.yahoo.com/table.csv?s=vvv&a=1&b=3&c=2011&d=1&e=The Internet site reports that the item you requested could not be found (HTTP/1.0 404)"
Система останавливается, и я не могу двигаться вперед.
Об отладке -
.Refresh BackgroundQuery:=False
подсвечивается.Я хотел бы иметь возможность добавить код, который пропускал бы любые недействительные записи, такие как вышеприведенные, и который затем получал бы доступ к следующему действительному коду акции и загружал бы цену акции против этого.
Любая душа, которую кто-либо мог бы предоставить, была бы очень признательна.
С уважением
Майк Симмонс