Buenas, haber estoy que voy a cojer el ordenador y lo voy a tirar por la ventana. He buscado por google y no he encontrado algo efectivo.
El caso esque en una variable tipo string, quiero almazenar solamente la segunda línea de un archivo txt. El problema esque si este archivo tiene mas de 2 lineas sale el error de "La entrada de datos a sobrepasado el final del archivo".
Para ello he declarado 3 variables para almazenar almenos las 3 primeras lineas, pero de esta manera sale también un error ya que si el txt solo tiene dos lineas sobra una variable y da error.
Para leer he utilizado lo siguiente:
dim linea1,linea2 as string
Open Archivo For Input As #1
Do While Not EOF(1)
Line Input #1, linea1
Line Input #1, linea2
Loop
Close #1
lo que habia pensado, es hacer una funcion que lea el numero de lineas y luego con una matriz declarar el numero de variables lineaX segun las lineas totales...Alguien tiene alguna idea o solución mas práctica ?
Haber, ya lo he resuelto despues de lagrimas,sangre y sudor.
He volcado el contenido del txt entero en un listbox.
Y he hecho que:
linea2 = List1.List(1)
Así guardo la segunda línea directamente en linea2.
Saludos !!!
Otra manera de hacerlo, en realidad hay muchas, podrias hacer lo mismo que en tu primer ejemplo y salir del loop con un contador que se incrementa en cada vuelta.
Private Sub Form_Load()
Dim sData As String
Open "c:\test.txt" For Binary Access Read As #1
sData = Space(LOF(1))
Get #1, , sData
sData = Split(sData, vbCrLf)(1)
Close #1
Debug.Print sData
End Sub