ARQUIVO TEXTO
                    Ola pessoal estou com uma duvida tenho um sistema de automação onde tenho que ler um arquivo texto excultar algumas tarefas do arquivo texto e quando terminar a tarefa tem que devolver o resultado da tarefa bom esse sistema esta ok mas quando eu termino a tarefa eu tenho que copiar esse arquivo texto e apagar ele mas o windows fala que o arquivo está em uso pelo sistema, então tenho que fechar o sistema para fazer isso como faço poder fazer isso sem fechar o sistema
                
            
                    Poste a rotina completa de processamento do arquivo de texto.
                
            
                    Bom dia Amigo!
Como tu esta abrindo esse arquivo?
Se for assim [Ô]Open [Ô]C:\Arquivo.Txt[Ô] For Append As #1[Ô], tu vai ter que fechar esse arquivo pra poder apagar ele...
é só colocar:
Close #1
Como disse o Tecla, coloca a rotina ai que fica mais facil gente te ajudar...
            Como tu esta abrindo esse arquivo?
Se for assim [Ô]Open [Ô]C:\Arquivo.Txt[Ô] For Append As #1[Ô], tu vai ter que fechar esse arquivo pra poder apagar ele...
é só colocar:
Close #1
Como disse o Tecla, coloca a rotina ai que fica mais facil gente te ajudar...
                    Estou abrindo o arquivo texto assim
[th]
                
            | arquivo texto | [/th]
|      CAMINHO = App.Path & [Ô]\Reporte_Ordem.txt[Ô] [ô]MsgBox Len(caminho) ind = 185 Close #F If Dir(CAMINHO) = [Ô][Ô] Then LerArquivo = False Open CAMINHO For Input As F [ô]abre o arquivo texto Line Input #F, LINHA Tamanho = Len(LINHA) Tamanho = Tamanho + 2 res = Len(LINHA) / ind If Tamanho < 185 Then Exit Function ReDim nomeOrdem(res) ReDim sData(res) ReDim zeroEsq(res) ReDim QtdMassa(res) ReDim Espaco1(res) ReDim qtdRepete(res) ReDim Espaco2(res) ReDim noTambor(res) ReDim Espaco3(res) ReDim nomeReceita(res) ReDim Espaco4(res) ReDim nomArquivo(res) ReDim Espaco5(res) ReDim Espaco6(res) CancelaReporterOrdem res = (Len(LINHA) + 2) res = Tamanho / ind I = 1 N = 1 T = 0 AR = 1 res = Len(LINHA) / ind I = 1 N = 1 T = 1 AR = 1 Do While Not EOF(F) Line Input #F, LINHA nomeOrdem(T) = Mid(LINHA, N, 41) N = N + 41 sData(T) = Format(Now, [Ô]DDMMYYYY[Ô]) N = N + 8 Espaco1(T) = Format(Mid(LINHA, N, 3), [Ô]000[Ô]) N = N + 3 QtdMassa(T) = Mid(LINHA, N, 5) N = N + 5 Espaco2(T) = Mid(LINHA, N, 42) N = N + 42 qtdRepete(T) = Mid(LINHA, N, 1) If qtdRepete(T) <> 1 Then Exit Function N = N + 1 Espaco3(T) = Mid(LINHA, N, 19) N = N + 19 noTambor(T) = Mid(LINHA, N, 2) N = N + 2 Espaco4(T) = Mid(LINHA, N, 14) N = N + 14 nomeReceita(T) = Mid(LINHA, N, 6) N = N + 6 Espaco5(T) = Mid(LINHA, N, 42) N = 1 T = T + 1 Loop ind = 185 [ô]Line Input #F, LINHA Tamanho = Len(LINHA) Tamanho = Tamanho + 2 res = Len(LINHA) / ind I = 1 N = 1 T = 0 AR = 1 Close #F  | 
                    Verifique se sua Variavel  #F não está sendo alterada em algum outro Lugar..eu 
Então para Testar
Mude o #F para #1 pra testar (pois assim fica valor FIXO).
Em todo o codigo..
                
            Então para Testar
Mude o #F para #1 pra testar (pois assim fica valor FIXO).
Em todo o codigo..
                    ok essa rotina eu esquisa de diser abro outro arquivo chamado arquivo_receita.txt do mesmo modo.
                
            
                    Então é isso o #F ta ficando Preso a outra rotina,  faça o teste como disse
                
            
                    Segue exemplo:
                
                Dim intFreeFile        As Integer
    Dim strCaminho      As String
    Dim strAux             As String
    strCaminho = [Ô]C:\Teste.txt[Ô]
    intFreeFile = FreeFile
    Open strCaminho For Input As #intFreeFile
            Do While Not EOF(intFreeFile)
                  Line Input #intFreeFile, strAux
                  [ô].
                  [ô].
                  [ô].
                  [ô].
            Loop
      Close #intFreeFile
      
       [ô]*** DELETA O ARQUIVO
       If strCaminho <> [Ô][Ô] Then
           If Dir$(strCaminho, vbNormal) <> [Ô][Ô] Then
               Kill strCaminho
           End If
       End If
                    Ola pessoal deslculpe a demora consegui resolver apenas troquei o nome dos arquivo em vez de chamar os dois arquivo de F eu chamo o primeiro de F e 2 de 1 de deu certo
                
            
                        Tópico encerrado , respostas não são mais permitidas