Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Importar txt para Form no Word

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Adonias
Manda bem
Manda bem
Mensagens: 167
Registrado em: Sáb Jun 02, 2012 12:55 pm

Importar txt para Form no Word

Mensagem por Adonias »

Pessoal, tenho um documento com um Form e preciso preench^-lo com uns dados que recebo em txt.
No rquivo TXT, os dados estão dispostos um abaixo do outro.
Quando abrir meu form no word e clicar em preencher o codigo deve copiar cada dado do txt nos textbox do Form

Dados do TXT:

N de ordem
data
processo
nome
cpf

Esses dados devem ir direto para os textbox do form
Anexos
ImportaForm.zip
(15.18 KiB) Baixado 150 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Adonias
Manda bem
Manda bem
Mensagens: 167
Registrado em: Sáb Jun 02, 2012 12:55 pm

Re: Importar txt para Form no Word

Mensagem por Adonias »

Esse código do Tomas serviu, mas não consegui distribuir cada linha do arquivo txt para cada textbox no fórum. Sempre terei um número fixo de dados no txt. Por isso sempre será os mesmos textbox no fórum.

Dim Arquivo As Integer
Dim CaminhoArquivo As String
Dim TextoArquivo As String
Dim TextoProximaLinha As String
Dim ContadorLinha As Long

'Configura a leitura do arquivo
Arquivo = FreeFile
CaminhoArquivo = "C:\Users\Adonias\Downloads\VBA\Model\Dados.txt"

'Abre o arquivo para leitura
Open CaminhoArquivo For Input As Arquivo
ContadorLinha = 1
'Lê o conteúdo do arquivo linha a linha
Do While Not EOF(Arquivo)
Line Input #Arquivo, TextoProximaLinha
TextoProximaLinha = TextoProximaLinha & vbCrLf
TextoArquivo = TextoArquivo & TextoProximaLinha
Loop

'Coloca na janela de verificação imediata
' Debug.Print TextoArquivo
TextBox1.Text = TextoArquivo
TextBox2.Text = TextoArquivo
TextBox3.Text = TextoArquivo

'Fecha o arquivo
Close Arquivo


Adonias
Manda bem
Manda bem
Mensagens: 167
Registrado em: Sáb Jun 02, 2012 12:55 pm

Re: Importar txt para Form no Word

Mensagem por Adonias »

Colocando os da dos em uma única linha no arquivo txt, pelo comando Mid, consigo importar, mas acontece que os dados nem sempre terão o mesmo tamanho.
Logo, não tenho como usar esse comando para qualquer caso.

Dim ConteudoDaLinha As String


Open "C:\Users\ADONIAS\Downloads\VBA\Model\Dados.txt" For Input As #1

TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""


Do While EOF(1) = False
Line Input #1, ConteudoDaLinha

If ConteudoDaLinha <> "" Then

TextBox1.Text = Mid(ConteudoDaLinha, 1, 4)
TextBox2.Text = Mid(ConteudoDaLinha, 6, 8)
TextBox3.Text = Mid(ConteudoDaLinha, 15, 4)
End If


Loop


Close 1


Adonias
Manda bem
Manda bem
Mensagens: 167
Registrado em: Sáb Jun 02, 2012 12:55 pm

Re: Importar txt para Form no Word

Mensagem por Adonias »

Finalmente chegue à solução e aqui está o código.
Não soube como fazer um loop para reduzir o número de linhas, mas o aprendizado foi muito bom.

Dim ConteudoDaLinha As String

Open "C:\Users\Downloads\VBA\Model\Dados.txt" For Input As #1

TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""

Line Input #1, ConteudoDaLinha: TextBox1.Text = ConteudoDaLinha
Line Input #1, ConteudoDaLinha: TextBox2.Text = ConteudoDaLinha
Line Input #1, ConteudoDaLinha: TextBox3.Text = ConteudoDaLinha
Close #1


ah, alguém aí sabe como coloco a palavra RESOLVIDO antes do tópico?


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder