Adatok olvasása online weboldalakról Excel VBA segítségével

Oszd meg most:

Ez a gyakorlat bemutatja, hogyan lehet adatokat olvasni egy webhelyről, jelen esetben a Yahoo.com aktuális valutaárfolyamait.

Feltételezhető, hogy az olvasóban megjelenik a Fejlesztői szalag, és ismeri a VBA-szerkesztőt. Ha nem, használja a Google „Excel Developer Tab” vagy az „Excel Code Window” szolgáltatását.

Az előfeltételek közé tartozik a kombinált mezők kitöltésének és a nevek meghatározásának ismerete.

A munkafüzet két lapból áll:

A felhasználói felület:A felhasználói felület

A vétel és eladás kombinált mezők az alábbi helyi adatlapra hivatkoznak.

A D11-es táblázat automatikusan be lesz illesztve magáról a webhelyről, megtartva a felhasználói formázást.Vásároljon és adjon el valutákat

A gyakorlat xlsm-je letölthető itt .

Az alkalmazás elkészítése saját maga.

Hozzon létre egy lapot két kombinált mezővel. A kombinált mezők egy második lap celláira hivatkoznak.

A kombinált mezők a kódot is meghívják a webhely olvasásához, a Változtat esemény.

A pénznemek nevei beilleszthetők az alábbi listából a második lapra („Pénznemek”), a rendezés egyéni preferencia kérdése:

ZAR
USAdollár
EUR
angol font
CHF
AUD
NZD
JPY
CAD
SEK
DKK
NOK
MUR
HKD
SGD
ILS
AED
INR
CNY

Illessze be az adatokat a B és E oszlopokba.

Adja meg a neveket és használja az Index függvényeket az ábra szerint:Vásároljon és adjon el valutákat

Mivel a nevek a „Pénznemek” helyi adatlapon vannak meghatározva, a „Fő” lapnak csupán a definiált nevekre kell hivatkoznia, hogy megkapja az értéket, azaz =ELADÁS és =VEGYÉS a „Fő” E10 és G10 cellákhoz.

Programozni fogjuk az Excelt a weben való olvasáshoz. Ennek azonban megvan a saját beépített folyamata az Adatszalagon, amelynek egy példányát makróként rögzítheti különböző forgatókönyvek felépítése során. Vegye figyelembe, hogy a számítógép vagy a böngésző konfigurációja hátrányosan befolyásolhatja a weboldal szkriptjeit.

A kód

Helyezzen be egy modult, és írja be a következőket:

Option Explicit

Sub Ticker()
  Dim currBuy As String
  Dim currSell As String

  Range("D11:F14").ClearContents      'prepare the ground for the web data
  currBuy = Range("BUY")          'get variable values from Defined Names previously set up
  currSell = Range("SELL")
  With ActiveSheet.QueryTables.Add(Connection:= _
    "URL;http://finance.yahoo.com/q?s=" & currBuy & currSell & "=X", Destination:=Range("$D$11"))
    .Name = "q?s=" & currSell & currBuy & "=X"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .WebSelectionType = xlSpecifiedTables
    .WebFormatting = xlWebFormattingNone
    .WebTables = """table1"""
    .WebPreFormattedTextToColumns = True
    .WebConsecutiveDelimitersAsOne = True
    .WebSingleBlockTextImport = False
    .WebDisableDateRecognition = False
    .WebDisableRedirections = False
    .Refresh BackgroundQuery:=False
  End With
End sub

Sub DropDown2_Change()    'This event will call the routine above. Object name might differ.
    Call Ticker
End Sub

Sub DropDown1_Change()
    Call Ticker
End Sub

Mentse a munkafüzetet xlsm típusúként.

Tesztelje a kódot a kombinált mezők értékeinek megváltoztatásával, majd intelligensítse a beillesztett táblázat formátumait (négy tizedesjegy, rácsvonalak, árnyékolások?).

Az Excel fájlok sérülése

Az Excelről időnként köztudott, hogy elrontja a fájlokat a mentés során, majd megkísérli a saját ön-helyreállítási rutinját, amely tapasztalataim szerint gyakran egyszerűen nem működik. Ez katasztrofális lehet a felhasználó számára, mivel ez a forrásfájl (talán az egyetlen példánya) az, ami megsemmisült. Sérült Excel fájlok azonban harmadik féltől származó eszközökkel javítható, így jelentős időt és erőfeszítést takaríthat meg.

Szerző Bevezetés:

Felix Hooker adat-helyreállítási szakértő DataNumen, Inc., amely világelső az adat-helyreállítási technológiák területén, beleértve javítás rar archív és SQL helyreállítási szoftvertermékek. További információért látogasson el www.datanumen.com

Oszd meg most:

Hozzászólások lezárva.