Notifications
Clear all

VBA ler o conteúdo de um txt e gravar em uma variavel

5 Posts
2 Usuários
0 Reactions
1,098 Visualizações
(@necron)
Posts: 117
Estimable Member
Topic starter
 

Bom Dia Galera!

Estou implementando em um trabalho meu, um sistema de atualização automática da planilha do Excel. Essa minha planilha possui vários utilizadores na empresa, e sempre que arrumo algum BUG ou melhoro a performance, tenho que envia-la por e-mail e ficar implorando pro usuário atualizar.

Enfim, ja consegui uma forma de fazer upload e download via FTP, com um código que achei na NET sem créditos, e que adaptei para minha necessidade.

Minha dificuldade:

Quando a planilha é aberta, ela baixa um arquivo temp .txt e dentro dele tem escrito a atual versão da planilha, ex: "v1.4b". Preciso que o VBA leia o texto de dentro desse arquivo .txt, e grave em uma string.

Depois disso eu farei comparações de versões, e se tiver desatualizado a planilha fará download automático e substituição da planilha.

Abçs

 
Postado : 12/02/2015 8:01 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde,

Veja se este exemplo de código te ajuda:

Sub LerTXT()
    Dim Arquivo As String
    Dim Versao As String
    
    Arquivo = "C:TempArquivo.txt"
    Open Arquivo For Input As 1
    Line Input #1, Versao
    Close #1
End Sub

Abraço

 
Postado : 12/02/2015 10:00 am
(@necron)
Posts: 117
Estimable Member
Topic starter
 

Funcionou perfeitamente!

Agora pode me dizer qual é a logica do input?

Não entendi muito bem o que esse comando faz...

 
Postado : 12/02/2015 10:19 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

O comando "Open Arquivo For Input As 1" abre o arquivo em modo leitura (Input).
Se fosse para escrever num arquivo texto seria "Output".
O comando "Line Input #1, Versao" lê a linha do arquivo e armazena na variável "Versao".
No link abaixo há uma explicação mais detalhada do assunto:

Ambiente Office

Abraço

 
Postado : 12/02/2015 10:56 am
(@necron)
Posts: 117
Estimable Member
Topic starter
 

Obrigado!

Vou dar uma estudada nisso!

 
Postado : 12/02/2015 11:30 am