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 44 45 46 47 48 49 50 51 52 53 54 55 56
| Private Sub cmdOpen_Click()
'Fichier
Dim canal As Byte
Dim chaine As String
'Balises et positions
Dim baliseOuv As String, baliseFin As String
Dim posDeb As Integer, posFin As Integer
'Valeurs à récupérer
Dim mesValeurs() As String
Dim nbVal As Integer
'indice de boucle
Dim i As Integer
'Initialisation
baliseOuv = "<p>"
baliseFin = "</p>"
nbVal = 0
ReDim mesValeurs(0)
'Ouverture fichier
canal = FreeFile
Open txtFichier.Text For Input As #canal
Do While Not EOF(canal)
'Récupération d'une ligne
Line Input #canal, chaine
'Traitement
'Recherche de balise ouvrante :
posDeb = InStr(chaine, baliseOuv)
'si balise ouvrante détectée :
If posDeb > 0 Then
'Recherche de balise fermante :
posFin = InStr(chaine, baliseFin)
If posFin >= posDeb + Len(posDeb) Then
ReDim Preserve mesValeurs(nbVal)
mesValeurs(nbVal) = Mid(chaine, posDeb + 3, posFin - posDeb - 3)
nbVal = nbVal + 1
Else
'pas de balise fermante
End If
End If
Loop
Close canal
'Vérification
For i = 0 To nbVal - 1 'ou Ubound(mesValeurs)
Debug.Print "A(" & i & ") = " & mesValeurs(i)
Next i
End Sub |
Partager