Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno_Ferreira

Capturar número de linhas de um arquivo de texto

Recommended Posts

Boa tarde galera.

 

Não entendo quase nada de VB, o pouco que eu entendo é o VBScript daquelas importações de arquivos para banco de dados.

O que eu preciso é importa uma lista com todos os arquivos contidos em uma pasta e a quantidade de linhas de cada um. Além do tamanho e tals.

Como posso fazer isso sem importar efetivamente o arquivo para o banco de dados?

Alguém teria um script de exemplo?

 

valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, pelo o que eu entendi.

 

Voce pode mandar o VB fazer essa contagem e gravar em uma Variavel para você poder utiliza-la depois.

 

Tem algo pronto desse script?

apra poder ajudar a te ajudar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem nada pronto ainda.

 

Por enquanto o que eu condigo fazer é importar a lista de arquivos contidos em uma pasta, mas isso via DTS do SQL Server, executo um .bat que lista os arquivos e joga em um arquivo de texto e depois importo ele.

Só que gostaria de fazer isso via aquele VBScript de parametros de importação do arquivo pegando também a quantidade de linhas do arquivo. a partit daí jogaria normalmente para dentro de uma tabela do banco.

 

Não achei nenhum exemplo disso na internet mas notei que talvez eu possa usar o EOF pra "caminhar" pelas linhas do arquivo contando-as. Mas fora isso não faço a minima ideia de como farei. Pensei também em jogar para uma matriz para depois jogar para o banco mas também não sei como farei isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Bruno.

 

Seu pensamento está correto, você pode utlizar sim o EOF para contagem das linhas.

 

Segue abaixo um exemplo:

 

Open "seu_arquivo.txt" For Input As #1

Do Until EOF(1)
   Line Input #1, linha
   i = i + 1
Loop

Close #1

msgbox i

Tendo dúvidas poste ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz o que você postou mas só fica dando o erro "Fim da instrução esperado" até onde eu sei não há nada de errado. Dêem uma olhada:

 

'**********************************************************************
'  Visual Basic ActiveX Script
'************************************************************************

Function Main()

	Open "E:\bruno\conferencia arquivos escobs\PEINCS200902210124486.txt" For Input As #1
	
	Do Until EOF(1)
	   	Line Input #1, linha
	 	i = i + 1
	Loop
	
	Close #1
	
	msgbox i

	Main = DTSTaskExecResult_Success
End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

linha 7

nesse trecho aqui:

Open "E:\bruno\conferencia arquivos escobs\PEINCS200902210124486.txt" For Input As #1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa, estranho o erro.

 

Reparei que sua função é uma Functio Main.

 

Você está iniciando seu programa pelo Module? Se for, vou tentar fazer o mesmo que está fazendo para ver se gera erro também.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse script é ativado via banco de dados SQL server, através de um módulo DTS mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno, dei uma procurada sobre DTS para ver se encontrava algo que pudesse te ajudar, mas não achei nada falando sobre DTS e leitura e textos.

 

Mas dê uma olhada nesse tópico aqui, ele fala sobre erros que podem ocorrer usando DTS que são mal explicados. Tente ver se alguma coisa se encaixa com o que está fazendo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.