Segu haciendo pruebas (es la forma en la que entiendo cmo funcionan las cosas) y vi informacin sobre el RegEx.
Ya teniendo ese bloque en un string pude usar el siguiente cdigo:
[code]Dim rg As New RegEx
Dim rv As New RegEx
Dim myMatch,myMatchV As RegExMatch
rg.SearchPattern = “\d\d-\d\d-\d\d\d\d”
rv.SearchPattern = “\d\d.\d\d\d\d\d\d”
myMatch = rg.Search(s2)
myMatchV = rv.Search(s2)
Do
if myMatch <> Nil and myMatchV <> Nil Then
MsgBox (myMatch.SubExpressionString(0) + " " + myMatchV.SubExpressionString(0))
Else
MsgBox “no encontrado”
End if
myMatch = rg.Search
myMatchV = rv.Search
loop until myMatch is Nil[/code]
y funcion (pude obtener los pares de datos de Fecha/Valor en cada MsgBox. A la hora de decidir el usar el String inicial con toda la pgina, me dio unos valores diferentes a los esperados para Valor. Ya despus de un rato de probar otras opciones me di cuenta que el . en rv.SearchPattern es wildcard (duh!), al cambiar . por \W ya funciona con el texto completo de la pgina sin tener que hacer un split.
Usar RegEx es mas directo que hacer varios splits y usar InStr. Es mas cmodo hacerlo as, pero no se si se usan mas recursos o menos. Por el momento no me voy a preocupar por ello.
despus de leer mas la documentacin lo he puesto as:
rv.SearchPattern = "\\d{1,3}\\.\\d{4,6}"
Existen valores pasados con slo 1 dgito antes del punto en lugar de 2. Con esto me preparo por si llega a tener 3 en el futuro. No veo necesario revisar si hay 4 decimales (posiciones despus del punto) ya que hasta el momento slo han mostrado 6 con los ltimos 2 en cero.