Criar histórico no txt

Olá,

Hoje minha aplicação grava um histórico no banco de dados, porém preciso que após gravar no banco eu grave em um txt separando os campos por " ; ", para ser importado por um ERP, estou com dificuldades para fazer, o exemplo que tem no Elipse Knowledgebase não consegui fazer da forma que preciso. Pode me auxiliar?

Olá @ezequielsd,

Seu arquivo txt seria como o exemplo abaixo:

1;ab;3.4;4
2;cd;5.6;8
3;ef;7.8;12

Caso sim, o script seria algo assim:

Dim aux, aux1
Linha = Var1 &";"& Var2 &";"& Var3 &";"& Var4
’ Var1 a 4 são as variaveis a serem inseridas no txt
Set aux = CreateObject(“Scripting.FileSystemObject”)
Set aux1 = aux.OpenTextFile(“C:\Temp\Teste.txt”,8)
aux1.WriteLine Linha
aux1.Close

Caso não seja, qual seria um exemplo de estrutura desejada?

1 Like

Sim, seria neste formato mesmo Gabriel, obrigado!

Então Gabriel,

Adicionei um botão para testar e fiz a logica para gerar este arquivo ao pressionar pegando a data atual, para gerar um arquivo por dia:

Mas apresenta este erro:

Eu fiz um teste tirando o campo da data no nome e criando o arquivo no local, que não existia, ai gravou, como faria para criar um arquivo por dia?

Vejo dois problemas:

  1. Concatenação da string
    Ao invez de usar o “+” deve-se utilizar o “&”, exemplo:
    “C:\Elipse\Producao_” & data & “.txt”.

  2. Formato da data
    Como é retornado o formato do GetLocalTime() em seu computador?
    Pois caso tenha “/”, o S.O não irá conseguir criar um arquivo com tal caractere.

Sim, o @Gabriel tem razão, o GetLocalTime() vai retornar ao do tipo 01/01/1999 00:00:00, portanto seria interessante vc usar um Regex p/ encontrar os caracteres de espaço, dois pontos e barra e substituir por underline por exemplo:

Set re = New RegExp
re.Pattern = “:|/|\s”
re.Global = True

data = re.Replace(CStr(GetLocalTime()), “_”)

3 Likes