Paano Basahin ang Data mula sa Mga Online Web Page na may Excel VBA

Ipamahagi ngayon:

Ipinapakita ng ehersisyo na ito kung paano basahin ang data mula sa isang website, sa kasong ito hanggang sa hanggang minutong mga rate ng palitan ng pera mula sa Yahoo.com.

Ipinapalagay na ang mambabasa ay ipinapakita ang Developer ribbon at pamilyar sa VBA Editor. Kung hindi, mangyaring Google "Excel Developer Tab" o "Excel Code Window".

Kasama sa mga paunang kinakailangan ang isang kaalaman sa mga pop-combo box at pagtukoy ng mga pangalan.

Ang workbook ay binubuo ng dalawang sheet:

Ang User Interface:Ang User Interface

Ang mga kahon ng combo ng Buy and Sell ay tumutukoy sa lokal na sheet ng data sa ibaba.

Ang talahanayan sa D11 ay awtomatikong mai-paste mula sa website mismo, na pinapanatili ang pag-format ng gumagamit.Bumili at Magbenta ng Mga Pera

Maaaring ma-download ang xlsm para sa ehersisyo na ito dito.

Pagbuo ng Pag-apply ng Iyong Sarili.

Lumikha ng isang sheet na may dalawang mga kahon ng combo. Ang mga combo box ay magre-refer ng mga cell sa isang pangalawang sheet.

Ang mga combo-box ay kukuha din ng code upang basahin ang website, gamit ang Baguhin kaganapan.

Ang mga pangalan ng pera ay maaaring mai-paste sa pangalawang sheet ("Mga Pera") mula sa listahan sa ibaba, ang pagkakasunud-sunod ng pagkakasunud-sunod ay isang bagay ng personal na kagustuhan:

ZAR
USD
EUR
GBP
CHF
AUD
NZD
JPY
CAD
SEK
DKK
NOK
MUR
HKD
SGD
ILS
AED
INR
CNY

I-paste ang data sa Hanay B at E.

Tukuyin ang Mga Pangalan at gamitin ang mga pagpapaandar ng Index ayon sa ilustrasyon:Bumili at Magbenta ng Mga Pera

Dahil ang mga pangalan ay tinukoy sa lokal na sheet ng data na "Mga Pera", ang sheet na "Pangunahin" ay tumutukoy lamang sa mga tinukoy na pangalan upang makuha ang halaga, ibig sabihin = SELL at = BUMILI para sa "Pangunahin" na mga cell E10 at G10 ayon sa pagkakabanggit.

Magpo-program kami ng Excel upang basahin ang web. Gayunpaman, mayroon itong sariling built-in na proseso sa laso ng Data, isang halimbawa kung saan nais mong maitala bilang isang macro sa pagbuo ng iba't ibang mga sitwasyon. Tandaan na ang mga pagsasaayos ng computer o browser ay maaaring makaapekto sa mga script ng web-page.

Ang Kodigo

Magsingit ng isang module, at ipasok ang sumusunod:

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

I-save ang workbook bilang uri xlsm.

Subukan ang code sa pamamagitan ng pagbabago ng mga halaga ng mga combo box, pagkatapos ay patalinuhin ang mga format ng na-paste na talahanayan (apat na decimal na lugar, gridlines, shadings?).

Korapsyon ng mga file ng Excel

Ang Excel ay kilala minsan upang masira ang mga file sa pag-save, pagkatapos ay susubukan ang sarili nitong gawain sa paggaling sa sarili na madalas, sa aking karanasan, ay hindi gumagana. Maaari itong mapinsala para sa gumagamit, dahil ito ang pinagmulan ng file (posibleng ang iyong tanging kopya) na nawasak. Napinsalang mga file ng Excel gayunpaman ay maaaring ayusin gamit ang mga tool ng third party, makatipid ng sapat na oras at pagsisikap.

Panimula ng May-akda:

Si Felix Hooker ay isang dalubhasa sa pagbawi ng data sa DataNumen, Inc., na pinuno ng mundo sa mga teknolohiya sa pagbawi ng data, kasama ang magkumpuni rar archive at mga produkto ng software sa pag-recover ng sql. Para sa karagdagang impormasyon pagbisita www.datanumen. Sa

Ipamahagi ngayon:

Mga komento ay sarado.