Excel VBA ilə onlayn veb səhifələrdən məlumatları necə oxumaq olar

İndi paylaş:

Bu məşq vebsaytdan məlumatların necə oxunacağını göstərir, bu halda Yahoo.com-dan ən son valyuta məzənnələri.

Oxucunun Tərtibatçı lentinin nümayiş etdirildiyi və VBA Redaktoru ilə tanış olduğu güman edilir. Əgər belə deyilsə, lütfən Google “Excel Developer Tab” və ya “Excel Code Window”.

İlkin şərtlərə kombo qutuların doldurulması və adların müəyyən edilməsi haqqında biliklər daxildir.

İş dəftəri iki vərəqdən ibarətdir:

İstifadəçi interfeysi:İstifadəçi interfeysi

Almaq və satmaq kombin qutuları aşağıdakı yerli məlumat cədvəlinə istinad edir.

D11-dəki cədvəl istifadəçi formatını saxlayaraq vebsaytın özündən avtomatik yapışdırılacaq.Valyutaları Almaq və Satmaq

Bu məşq üçün xlsm endirilə bilər burada.

Tətbiqi özünüz qurun.

İki birləşmə qutusu olan bir vərəq yaradın. Kombo qutular ikinci vərəqdəki xanalara istinad edəcək.

Kombinə qutular həmçinin veb-saytı oxumaq üçün kodu işə salacaq Dəyişdirmək hadisə.

Valyuta adları aşağıdakı siyahıdan ikinci vərəqə (“Valyutalar”) yapışdırıla bilər, çeşidləmə qaydası şəxsi seçim məsələsidir:

ZAR
ABŞ dolları
Avro
GBP
CHF
AUD
NZD
JPY
CAD
SEK
DKK
NOK
MUR
HKD
SGD
ILS
AED
INR
CNY

Məlumatları B və E sütunlarına yapışdırın.

Adları müəyyənləşdirin və təsvirə uyğun olaraq İndeks funksiyalarından istifadə edin:Valyutaları Almaq və Satmaq

Adlar “Valyutalar” yerli məlumat vərəqində müəyyən edildiyi üçün “Əsas” vərəqi sadəcə olaraq dəyəri əldə etmək üçün müəyyən edilmiş adlara istinad etməlidir, yəni “Əsas” E10 və G10 xanaları üçün müvafiq olaraq = SAT və = AL.

İnterneti oxumaq üçün Excel proqramlaşdıracağıq. Bununla belə, onun Data lentində öz daxili prosesi var, bunun bir nümunəsini müxtəlif ssenarilərin qurulmasında makro kimi qeyd etmək istəyə bilərsiniz. Nəzərə alın ki, kompüter və ya brauzer konfiqurasiyaları veb-səhifə skriptlərinə mənfi təsir göstərə bilər.

Kod

Modul daxil edin və aşağıdakıları daxil edin:

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

İş kitabını xlsm növü olaraq saxlayın.

Kombo qutuların dəyərlərini dəyişdirərək kodu sınayın, sonra yapışdırılmış cədvəlin formatlarını zərifləşdirin (dörd onluq yer, tor xətləri, kölgələr?).

Excel fayllarının pozulması

Excel vaxtaşırı yaddaşda saxlama zamanı faylları korlayır, sonra özünü bərpa etməyə cəhd edir, bu da mənim təcrübəmə görə tez-tez işləmir. Bu, istifadəçi üçün fəlakətli ola bilər, çünki məhv edilən mənbə fayldır (bəlkə də sizin yeganə nüsxəniz). Zədələnmiş Excel faylları lakin üçüncü tərəf alətləri ilə təmir edilə bilər, bu da xeyli vaxt və səyə qənaət edir.

Müəllif Giriş:

Feliks Hooker məlumatların bərpası üzrə mütəxəssisdir DataNumendaxil olmaqla məlumatların bərpası texnologiyaları üzrə dünya lideri olan , Inc təmir rar arxiv və sql bərpa proqram məhsulları. Ətraflı məlumat üçün ziyarət edin www.datanumen.com

İndi paylaş:

Şərhlər bağlıdır.