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
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Importar txt para Form no Word
Re: Importar txt para Form no Word
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
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
Re: Importar txt para Form no Word
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
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
Re: Importar txt para Form no Word
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?
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?