NUMERO DE LINHAS DE UM TXT
Preciso mostrar a progressão da importação de um arquivo txt, mas não sei como obter o numero de linhas sem ter que percorrer ele todo
Como faço para saber o número de linhas do arquivo ?
faço o seguinte pra abrir um arquivo .txt
Dim F As Long
F = FreeFile
Open ArquivoEscolhido For Input As F
Obrigado!
Como faço para saber o número de linhas do arquivo ?
faço o seguinte pra abrir um arquivo .txt
Dim F As Long
F = FreeFile
Open ArquivoEscolhido For Input As F
Obrigado!
Colega, infelizmente, a única forma de saber o número de linhas, é lendo o arquivo, claro que existem maneiras mais rápidas de ler, a que acho melhor seria assim:
Neste exemplo simulo uma barra de progresso de nome pbrTXT:
é isso, qualquer dúvida poste...flw
Neste exemplo simulo uma barra de progresso de nome pbrTXT:
Dim F As Long, i As Integer
Dim Linha() As String
F = FreeFile
Open ArquivoEscolhido For Input As #F
'Carrega os dados do arquivo
Linha = Split(Input(LOF(F), F), vbCrLf)
Close #F
pbrTXT.Max = UBound(Linha) 'Número de linhas
For i = 0 To UBound(Linha)
'Aqui vc usa seus códigos, sendo que Linha(i) será
'o conteúdo da linha atual:
MsgBox Linha(i), vbInformation, "Conteúdo da linha " & (i + 1)
Next i
é isso, qualquer dúvida poste...flw
Citação:MATIOLI escreveu:
Colega, infelizmente, a única forma de saber o número de linhas, é lendo o arquivo, claro que existem maneiras mais rápidas de ler, a que acho melhor seria assim:
Neste exemplo simulo uma barra de progresso de nome pbrTXT:Dim F As Long, i As Integer
Dim Linha() As String
F = FreeFile
Open ArquivoEscolhido For Input As #F
[Ã ']Carrega os dados do arquivo
Linha = Split(Input(LOF(F), F), vbCrLf)
Close #F
pbrTXT.Max = UBound(Linha) [à ']Número de linhas
For i = 0 To UBound(Linha)
[Ã ']Aqui vc usa seus códigos, sendo que Linha(i) será
[à ']o conteúdo da linha atual:
MsgBox Linha(i), vbInformation, [Ãâ€ÂÂ]Conteúdo da linha [Ãâ€ÂÂ] & (i + 1)
Next i
é isso, qualquer dúvida poste...flw
Matioli, eu tenho uma sugestão muito mais simplezinha que já postei aqui 200x rsrsrs :-)
Open "C:\arquivo.txt" For Input As iArquivo
vLinhas = Split(Input(LOF(iArquivo), iArquivo), vbCrLf)
Close iArquivo
[txt-color=#3333ff]qtdeLinhas[/txt-color]= UBound(vLinhas) - LBound(vLinhas) + 1
Hehehehehehe, de um tempo pra cá ARRAY é a minha resposta pra tudo rsrsrs
Mas uma observação sua é FATO.
Ele realmente vai precisar ler o arquivo pra saber o tamanho dele.
Tópico encerrado , respostas não são mais permitidas