Postada em 06/05/2008 13:56 hs
E ai galera !
Preciso fazer um programa em vb que abra dois arquivos texto, um tem uma relacao de codigos de clientes e o outro tem diversas linhas com varios clientes, preciso abrir os dois arquivos e verificar todos os codigos do primeiro arquivo e localizar no segundo e gravar estas linhas localizadas em um terceiro arquivo, mas nao estou conseguindo fazer esse processo, alguem tem uma dica ? Segue o codigo que tentei fazer.
Private Sub Command1_Click()
Dim caminho As String Dim arqori As String Dim arqori2 As String Dim arqdest As String Dim codigo1 As String Dim codigo2 As String Dim totallinhas As Variant Dim titulo As String Dim linha As String Dim linha2 As String Dim arquivo As String
'FAZENDO A CRIAÇÃO DO ARQUIVO nomearquivo = "FINAL" & Now & ".txt" 'criando um novo arquivo nomearquivo = Replace(nomearquivo, " ", "") nomearquivo = Replace(nomearquivo, "/", "") nomearquivo = Replace(nomearquivo, ":", "")
'inicializa arqdest = FreeFile Open App.Path & "" & nomearquivo For Random As arqdest 'abrindo o Arquivo desta forma, se NÃO EXISTIR, ele cria o arquivo. Close #arqdest MsgBox "O arquivo '" & nomearquivo & "'", , "Arquivo Criado com sucesso" 'ABRINDO O ARQUIVO CRIADO Open App.Path & "" & nomearquivo For Append As arqdest 'ABRINDO O ARQUIVO DE ORIGEM 1(arquivo principal) arqori = FreeFile Form1.CommonDialog1.DialogTitle = "Selecione o arquivo para pesquisa" Form1.CommonDialog1.InitDir = App.Path Form1.CommonDialog1.Filter = "Arquivos texto (*.txt)|*.txt| Todos os arquivos (*.*)|*.*|" Form1.CommonDialog1.FilterIndex = 2 Form1.CommonDialog1.ShowOpen caminho = Form1.CommonDialog1.FileName Open caminho For Input As arqori totallinhas = 0
'(arquivo com codigos dos clientes) arqori2 = FreeFile Open App.Path & "CEA_CONTRATOS.txt" For Input As #arqori2
Do While Not EOF(arqori2) Line Input #arqori2, linha2 codigo2 = Mid(linha, 2, 16) totallinhas = totallinhas + 1 Loop
Do Until EOF(arqori) Line Input #arqori, linha codigo1 = Mid(linha2, 15, 16) If codigo1 = codigo2 Then totallinhas = totallinhas + 1 Print #arqdest, linha End If Loop Close #arqori Close #arqori2 Close #arqdest MsgBox "operacao concluida"
End Sub
|