VBA Excel - načtení CSV souboru z webu do pole. Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Uživatelský avatar
vonv
Level 1
Level 1
Příspěvky: 93
Registrován: leden 08
Pohlaví: Nespecifikováno
Stav:
Offline

VBA Excel - načtení CSV souboru z webu do pole.  Vyřešeno

Příspěvekod vonv » 05 říj 2010 18:15

Prosím o radu, jak ve VBA pro Excel 2007 načíst soubor CSV, který je umístěn na webu do pole. Zatím jsem nikde (ani knížky ani web) nenašel (a ani mě nenapadl) kloudný způsob jak to udělat napřímo.

V tuto chvíli načítám z Yahoo CSV soubor pomocí příkazu:
ActiveSheet.QueryTables.Add(Connection:="URL;http://ichart.finance.yahoo.com/table.csv?s=" & ticker(r) & "&d=" & month(stop_date) - 1 & "&e=" & day(stop_date) & "&f=" & year(stop_date) & "&g=d&a=" & month(start_date) - 1 & "&b=" & day(start_date) & "&c=" & year(start_date) & "&ignore=.csv", Destination:=ActiveCell.Offset(1, r - 1))

Tím se mi načte každý řádek se všemi oddělenými daty do jedné buňky a pak data separuji a načítám do dále zpracovávaného pole. Já bych raději upřednostnil aby se mi jednotlivá data oddělená čárkou načetla rovnou do pole. Jedná se o úsporu a urychlení vykonání kódu.

Příklad dvou řádků dat:
Date,Open,High,Low,Close,Volume,Adj Close
2010-09-30,135.50,136.11,133.67,134.14,6425800,134.14



Díky za rady a inspiraci.
Naposledy upravil(a) vonv dne 08 říj 2010 21:13, celkem upraveno 1 x.
diky všem za rady

Reklama
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VBA Excel - načtení CSV souboru z webu do pole.

Příspěvekod navstevnik » 05 říj 2010 18:54

Jako voditko muze poslouzit viewtopic.php?f=61&t=38704

Uživatelský avatar
vonv
Level 1
Level 1
Příspěvky: 93
Registrován: leden 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VBA Excel - načtení CSV souboru z webu do pole.

Příspěvekod vonv » 05 říj 2010 19:36

Díky za tip...

Nicméně pro mě je to vyšší dívčí... :smile:

Pokud se v tom někdo kapku víc vyzná, prosím o polopatické vysvětlení. Tohle v mých knížkách není a na netu popis všech funkcí zatím nenalézám.
diky všem za rady

Uživatelský avatar
vonv
Level 1
Level 1
Příspěvky: 93
Registrován: leden 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VBA Excel - načtení CSV souboru z webu do pole.

Příspěvekod vonv » 05 říj 2010 20:26

pomalu tomu přicházím na kloub metodou pokus omyl, ale kdyby mi chtěl někdo vysvětlit zejména následující řádky, tak budu vděčný :D :

Kód: Vybrat vše

Set objHTTP = CreateObject("MSXML2.XMLHTTP")
  Call objHTTP.Open("GET", URL, False)
  objHTTP.Send


Díky.
diky všem za rady

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VBA Excel - načtení CSV souboru z webu do pole.

Příspěvekod navstevnik » 05 říj 2010 21:39

No Google mi nasel po zadani Set objHTTP = CreateObject("MSXML2.XMLHTTP") toto: http://blogs.technet.com/b/heyscripting ... sible.aspx a najdes tam odpoved na dotaz (kdyz tak pouzij GoogleTranslator):
We begin by assigning the URL for the Script Center to a variable named strURL. Next we create an instance of MSXML2.XMLHTTP, a COM object that provides a way for client computers to interact with HTTP servers. We then call the Open method, passing three parameters: “GET” (which means to retrieve information from the server); strURL, the variable holding the URL to the Script Center home page; and FALSE, to make the call synchronous. After that we use the Send method to send our request to the HTTP server.

Uživatelský avatar
vonv
Level 1
Level 1
Příspěvky: 93
Registrován: leden 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VBA Excel - načtení CSV souboru z webu do pole.

Příspěvekod vonv » 08 říj 2010 21:14

Díky!
Hotovo a funkční...

:bigups:
diky všem za rady


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 15 hostů