Notifications
Clear all

exportar dados ex el para arquivo .txt

9 Posts
3 Usuários
0 Reactions
2,948 Visualizações
(@rodrigojacinto)
Posts: 73
Estimable Member
Topic starter
 

Bom dia a todos..
Nao entendo de programação, porem para facilitar meu trabalho, gostaria que me ajudassem a criar um (eu acredito que seja macro) para exportar informação do excel para um arquivo .txt, porem esse arquivo exportado deve obedecer um Layout. exemplo:
Coluna A B C D
Linha 1 nome paulo salario 100
Linha 2 endereço rua tal
Linha 3 fone 45457070

O arquivo exportado devera ter tipo A1 deve ter 10 posições e preencher com "0" até o inicio da B1 que devera ter 20 posições e preencher com "0" até a C1 e assim por diante...
Caso alguem possa me ajudar fico feliz rsrs..

Obrigado.

 
Postado : 11/05/2012 5:38 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

No anexo arquivo com 2 planilhas,
na planilha "Export", com uma rotina para efetuar a "exportação" conforme os tamanhos definidos em lay-out (G3:I10) (veja txt exemplo anexo)
na planilha "ExportTxt" modelo com formulas.

 
Postado : 11/05/2012 6:19 am
(@rodrigojacinto)
Posts: 73
Estimable Member
Topic starter
 

Cara é exatamente isso que precisava, muito obrigado.

e forte abraço;

 
Postado : 11/05/2012 9:42 am
(@rodrigojacinto)
Posts: 73
Estimable Member
Topic starter
 

Se nao for abusar muito, se eu quisesse em certo momento deixar espaço sabe.. tipo entre coluna 1 e 2 quero deixar um espaço de 10. é possivel?

mais uma vez muito obrigado.

 
Postado : 11/05/2012 10:00 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Uma possibilidade:
No codigo crie uma variavel , por exemplo no nome Espaco, tamanho 10 " "
e na linha de saida concatene entre os campos desejados
Ficaria algo assim

Sub GeraTxt()

Caminho = ThisWorkbook.Path & Application.PathSeparator
Arquivo = "Exportar_Excel_pTxt.txt"
Open Caminho & Arquivo For Output As #1

Espaco = "          "

Worksheets("Export").Activate
Range("A1").Select
linha = 2


Do Until IsEmpty(ActiveCell.Offset(0, 0))

        Cpo1 = Cells(linha, 1) & Application.WorksheetFunction.Rept(Cells(10, 9), Cells(5, 8) - Len(Cells(linha, 1)))
         
        Cpo2 = Cells(linha, 2) & Application.WorksheetFunction.Rept(Cells(10, 9), Cells(6, 8) - Len(Cells(linha, 2)))
        
        Cpo3 = Cells(linha, 3) & Application.WorksheetFunction.Rept(Cells(10, 9), Cells(7, 8) - Len(Cells(linha, 3)))
        
        Cpo4 = Cells(linha, 4) & Application.WorksheetFunction.Rept(Cells(10, 9), Cells(8, 8) - Len(Cells(linha, 4)))
        
        Dados = Cpo1 & Espaco & Cpo2 & Espaco & Cpo3 & Cpo4
        
    Print #1, Dados
    linha = linha + 1
    If Cells(linha, 1) = Empty Then Exit Do
Loop
        
Close #1

End Su
 
Postado : 11/05/2012 2:11 pm
(@tomamais)
Posts: 26
Eminent Member
 

Mais algumas opções:

http://www.tomasvasquez.com.br/blog/?s=exportar+texto

Att

 
Postado : 11/05/2012 4:25 pm
(@rodrigojacinto)
Posts: 73
Estimable Member
Topic starter
 

Amigo prometo que sera´a ultima pergunta, e se eu quisesse exemplo que o conteudo da celula A3 fosse exportado para o arquivo de .txt e ficasse na ln 2, col 100 por exemplo, isso é possivel?

Se puder responder agradeço desde ja, senao mesmo assim agradeço pois suas respostas foram todos exatas.

mUITO OBRIGADO.

 
Postado : 11/05/2012 11:38 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não entendi,
o arquivo txt não é estruturado, o que entende com linha 2 col 100?
Poderia deixar um exemplo de como espera a saida?

 
Postado : 12/05/2012 8:25 am
(@rodrigojacinto)
Posts: 73
Estimable Member
Topic starter
 

Boa tarde, entao amigo, segue explo de como teria que ficar o arquivo txt, porem o arquivo que esta no excel nao esta ordenado certinho, entendeu, preciso buscar o nome em uma celula e depois o nome do segundo em outra celula entendeu.
Por isso teria que ter um codigo que de espaços ja determinados e as vezes preciso preencher com zeros como no ultimo caso que é salario.
se puder ajudar agradeço.

 
Postado : 12/05/2012 11:55 am