No puedes; bueno, no puedes a no ser que (cosa poco probable) todas las líneas tengan la misma longitud. En ese caso simplemente dividiendo el tamaño del fichero por la longitud de una línea (considerando además los caracteres LF y CR finales) tendrías el número de líneas que contiene. Como no suele ser habitual encontrar ficheros así, no te queda más remedio que recorrerlas y contarlas.
Si por casualidad tienes el fichero cargado en un control Rich Textbox, entonces puedes utilizar la función GetLineFromChar del control, pasándole como parámetro la posición del último caracter del control, con lo que obtendrás el número de la última línea. O sea:
Prueba este código, necesitas un TextBox y un CommandButton, en el text cargamos el archivo, suponiendo que es de texto, también podrias usar un RichText...
Option Explicit
Private Declare Function SendMessageByRef Lib "user32" Alias _
"SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, wParam As Long, _
lParam As Any) As Long
Private Sub Command1_Click()
' Obtiene el total de lineas en el cuadro de texto
Dim NumLineas As Long
Dim ArchivoLibre As Integer
Dim TamFichero As Long
Const EM_GETLINECOUNT = &HBA
If Dir(App.Path & "\pruebas.txt") = "pruebas.txt" Then
ArchivoLibre = FreeFile
Open App.Path & "\pruebas.txt" For Input As ArchivoLibre
TamFichero = LOF(ArchivoLibre)
Text1.Text = Input(TamFichero, ArchivoLibre)
Close ArchivoLibre
NumLineas = SendMessageByRef(Text1.hwnd, EM_GETLINECOUNT, 0&, 0&)
MsgBox Str(NumLineas)
End If
End Sub