< návrat zpět

MS Excel


Téma: VBA - hromadné informace z ARESU rss

Zaslal/a 25.2.2016 0:34

Zdravím, ve VBA jsem zatím zelenáč a pokouším se dostat tabulku, umožňující vyhledat (nejen) IČO dle názvu společností (list1, buňky B2 a níže) v ARESu. Momentálně neřeším jak neuspořádaně bude vypadat výstup, problémem je nemožnost získat výsledky pro více, než jedno vyhledání (pro první zadaný název). Poté vyskočí chyba. Upřímně si už nevím rady a děkuji za jakoukoli radu.

Sub ares()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets.Add(After:=Sheets(Sheets.Count)).Name = "ares"
Sheets("ares").Activate

For i = 2 To Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
ActiveWorkbook.XmlImport URL:="http://wwwinfo.mfcr.cz/cgi-bin/ares/darv_std.cgi?obchodni_firma=" & Sheets(1).Cells(i, 1).Value, ImportMap:=Nothing, Overwrite:=False, Destination:=Cells(1, 1)

Dim lastrow As Long
lastrow = Sheets(1).Range("A65536").End(xlUp).Row + 1
Sheets("ares").Range("AK2:AK65536" & lastrow).Copy Destination:=Sheets(1).Range("B2:B65536")
Sheets("ares").Range("AJ2:AJ65536" & lastrow).Copy Destination:=Sheets(1).Range("C2:C65536")
Sheets("ares").Range("BG2:BG65536" & lastrow).Copy Destination:=Sheets(1).Range("D2:D65536")
Sheets("ares").Range("BJ2:BJ65536" & lastrow).Copy Destination:=Sheets(1).Range("E2:E65536")
Sheets("ares").Range("BK2:BK65536" & lastrow).Copy Destination:=Sheets(1).Range("F2:F65536")
Sheets("ares").Range("BL2:BL65536" & lastrow).Copy Destination:=Sheets(1).Range("G2:G65536")
Sheets("ares").Range("BN2:BN65536" & lastrow).Copy Destination:=Sheets(1).Range("H2:H65536")
Sheets("ares").Range("BP2:BP65536" & lastrow).Copy Destination:=Sheets(1).Range("I2:I65536")
Sheets("ares").Range("V2:V65536" & lastrow).Copy Destination:=Sheets(1).Range("J2:J65536")
Sheets("ares").Range("X2:X65536" & lastrow).Copy Destination:=Sheets(1).Range("K2:K65536")
Next
Sheets("ares").Delete
Application.ScreenUpdating = True
Application.DisplayAlerts = FaTruelse
End Sub

Zaslat odpověď >

icon #030363
eLCHa
Application.DisplayAlerts = FaTruelse!!!

https://www.google.cz/search?q=site%3Awall.cz+arescitovat
#030365
avatar
Teď úplně nechápu. Místní diskuze o ARESu jsem pročítal. Je to narážka na možnost zablokování přístupu na ARES? I když vynechám v kódu oba příkazy s DisplayAlerts, chování se v podstatě nezmění. Přístup na ARES nemám zablokovaný (při zkoušení občas nechávám list ares bez mazání...v závislosti na tom mám chybu 400 nebo 1003). V podstatě končím krátce v druhém kole u dotazu přes urlcitovat
icon #030366
eLCHa
To není narážka na nic. Nenapsal jste, co jste zkoušel a já vím, že se tu už ares řešil. Tak jsem dal odkaz.

Protože jste nedal přílohu, tak nevíme co je v oblasti
Sheets(1).Cells(2 až Rows.Count, 1).End(xlUp).Row za hodnoty. Protože tu hodnotu pak vkládáte do importu jako argument firma, je to tedy pravděpodobně seznam firem.

Takže jediné co mohu poradit (bez přílohy) je vložit ten odkaz vytvořený v kroku 2 přímo do prohlížeče a zkusit, jestli je funkční. Neobsahuje název firmy diakritiku nebo nějaké neobvyklé znaky (i mezera může být problém)?

Není lepší použít ičo než název firmy?

http://wwwinfo.mfcr.cz/cgi-bin/ares/darv_std.cgi?ico=27074358

http://www.w3schools.com/tags/ref_urlencode.aspcitovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje