Šis vingrinājums parāda, kā nolasīt datus no vietnes, šajā gadījumā jaunākos valūtas maiņas kursus no Yahoo.com.
Tiek pieņemts, ka lasītājam ir parādīta izstrādātāja lente un viņš ir pazīstams ar VBA redaktoru. Ja nē, lūdzu, Google “Excel izstrādātāja cilne” vai “Excel koda logs”.
Priekšnosacījumi ietver zināšanas par kombinēto lodziņu aizpildīšanu un vārdu definēšanu.
Darba burtnīca sastāv no divām lapām:
Lietotāja saskarne:
Kombinētās lodziņos Pirkt un Pārdot atsauces uz vietējo datu lapu zemāk.
D11 tabula tiks automātiski ielīmēta no pašas vietnes, saglabājot lietotāja formatējumu.
Šī vingrinājuma xlsm var lejupielādēt šeit.
Pielietojiet lietojumprogrammu pats.
Izveidojiet lapu ar divām kombinētām lodziņām. Kombinētās rūtiņas atsauces uz šūnām otrajā lapā.
Kombinētās rūtiņas arī izsauks kodu, lai lasītu vietni, izmantojot Mainīt notikums.
Valūtu nosaukumus var ielīmēt otrajā lapā (“Valūtas”) no zemāk redzamā saraksta, kārtošanas kārtību izvēloties personīgi:
| ZAR |
| USD |
| EIRO |
| GBP |
| CHF |
| AUD |
| NZD |
| JPY |
| CAD |
| LVL |
| DKK |
| NOK |
| MUR |
| HKD |
| SGD |
| ILS |
| AED |
| INR |
| CNY |
Ielīmējiet datus B un E kolonnās.
Definējiet nosaukumus un izmantojiet rādītāja funkcijas atbilstoši attēlam:
Tā kā nosaukumi ir definēti vietējā datu lapā “Valūtas”, lapai “Main” ir tikai jāatsaucas uz definētajiem nosaukumiem, lai iegūtu vērtību, ti, = SELL un = PIRKT attiecīgi “Main” šūnām E10 un G10.
Programmēsim programmu Excel, lai lasītu tīmekli. Tomēr datu lentē tam ir savs iebūvētais process, kuru, iespējams, vēlaties ierakstīt kā makro, veidojot dažādus scenārijus. Ņemiet vērā, ka datora vai pārlūka konfigurācijas var nelabvēlīgi ietekmēt tīmekļa lapu skriptus.
Kodekss
Ievietojiet moduli un ievadiet šo:
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
Saglabājiet darbgrāmatu kā xlsm.
Pārbaudiet kodu, mainot kombinēto lodziņu vērtības, pēc tam uzlabojiet ielīmētās tabulas formātus (četras zīmes aiz komata, režģlīnijas, ēnojumi?).
Excel failu bojājums
Reizēm ir zināms, ka programma Excel ir bojāta, saglabājot failus, pēc tam mēģinot izveidot savu pašatjaunošanās rutīnu, kas, pēc manas pieredzes, bieži vien vienkārši nedarbojas. Lietotājam tas var būt katastrofāls, jo tiek iznīcināts avota fails (iespējams, jūsu vienīgā kopija). Bojāti Excel faili tomēr to var salabot, izmantojot trešo pušu rīkus, ietaupot ievērojamu laiku un pūles.
Autora ievads:
Fēlikss Hukers ir datu atkopšanas eksperts DataNumen, Inc., kas ir pasaules līderis datu atkopšanas tehnoloģiju, tostarp remonts rar arhīvs un SQL atkopšanas programmatūras produkti. Lai iegūtu vairāk informācijas, apmeklējiet vietni www.datanumen. Ar
