1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| Dim fso As Object, WS As Object, f, ST$
Const ForReading = 1, ForWriting = 2
Private Sub Command1_Click()
'affiche la page et enregistre le fichier
WebBrowser1.Navigate "http://data.geo.admin.ch.s3.amazonaws.com/ch.meteoschweiz.swissmetnet-foehnindex/VQHA69.txt"
WebBrowser1.Visible = True
Do While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
DoEvents
Loop 'Attend la fin du chargement
Set fso = CreateObject("Scripting.FileSystemObject")
Set WS = CreateObject("WScript.Shell")
Set f = fso.OpenTextFile("C:\Wb.txt", 2, True)
If WebBrowser1.Busy = False Then
ST = WebBrowser1.Document.documentElement.innerHTML
f.Write FindAndWrite(ST)
f.Close
End If
'insère les lignes dans la list
Set f = fso.OpenTextFile("C:\Wb.txt", ForReading)
While Not f.AtEndOfStream
List1.AddItem (f.ReadLine)
Wend
f.Close
End Sub
Private Function FindAndWrite(sText) As String
Dim Ret$, tb() As String, I%, Trouve As Boolean
tb = Split(sText, vbNewLine, , vbTextCompare)
Ret = ""
Trouve = False
For I = LBound(tb) To UBound(tb)
If UCase$(Mid$(tb(I), 1, 5) = "<BODY") Then Trouve = True
If Trouve Then Ret = Ret + tb(I) + vbNewLine
If UCase$(Mid$(tb(I), 1, 7) = "</BODY>") Then Exit For
Next I
FindAndWrite = Ret
End Function |
Partager