Ir ao conteúdo
  • Cadastre-se
GuilDraco

Salvar como .txt arquivo concatenado através de macro

Recommended Posts

Falaaa, Galerinha!!

 

Então estou com uma duvida já vasculhei tudo na net pra não perturbar vocês novamente, mas não teve outra forma. Estou com o seguinte problema, preciso copiar determinada área da planilha onde foi gerado um arquivo concatenado, até ai tudo bem, o problema é que não consigo fazer o macro salvar de modo algum exatamente como copiei. Já tentei todos os Tipos de arq. disponíveis no Excel .txt e nada, ele salva numa bagunça só e o pior sem as "|" que foram inseridas ao concatenar para enviar o arquivo.

 

Segue área copiada:

 

    Range("L1:V1").Select
    Selection.AutoFill Destination:=Range("L1:V9787"), Type:=xlFillDefault
    Range("L1:V9787").Select
    Selection.Copy

 

Agora preciso salvar como.txt exatamente como copiei. Lembrando que é através de macro, então abrir o Bloco de notas copiar e salvar manualmente não rola. Rs.

Aproveitando o embalo, se alguém souber uma forma de salvar o arquivo do macro de acordo com a data do PC, agradeço também.

 

Valeu galera. Abraços.

Editado por GuilDraco
Melhor titulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um exemplo simples para maior entendimento.

 

Arquivo no Excel: 

Capturar.PNG

 

Exemplo de como deve ficar no arquivo .txt.

1|2|3|4|
1|2|3|4|
1|2|3|4|

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, consegui resolver o problema após muita pesquisa e modificações de códs. Agradeço aos que se dispuseram a ajudar. "Casa" mano, não posso disponibilizar a parte do cód que iria me ajudar nesse problema. Porém posso disponibilizar a parte dele que usei pra fazer salvar como txt exatamente como eu queria, caso alguém também precise algum dia. Rs

 

'Copia e salva o arquivo concatenado .txt 
    
    Application.DisplayAlerts = False
 
    template_file = ActiveWorkbook.FullName
    
    Selection.AutoFill Destination:=ActiveCell.Range(Cells(1, 11), Cells(Ultimalinha1, 1))
    ActiveCell.Range(Cells(1, 11), Cells(Ultimalinha1, 1)).Select
    Selection.Copy
    
    'Salva o arquivo txt vazio pra ser inserido a copia
    
    fileSaveName = Application.GetSaveAsFilename( _
                   InitialFileName:="C:\Caminho\nome do arquivo" + _
                                    VBA.Strings.Format(Now, "ddmmyyyy") + ".txt", _
                   fileFilter:="Text Files (*.txt), *.txt")
                   
                   If fileSaveName = False Then
        Exit Sub
    End If
    
    'Gera uma nova planilha
    
    Dim newBook As Workbook
    Dim plan As Worksheet
    Set newBook = Workbooks.Add
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
                   
    'Copia os dados para o txt salvo anteriomente
    
    newBook.SaveAs Filename:= _
    fileSaveName, FileFormat:=xlTextWindows, _
    CreateBackup:=False
    
    'fecha a pasta de trabalho gerada
    newBook.Close SaveChanges:=True
    Set newBook = Nothing
    
    'Limpa o arquivo salvo no txt na planilha
    Selection.ClearContents
    

Agora fiquei com o problema das aspas em algumas linhas, caso alguém saiba como tirar. Só falar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, respondendo minha própria questão, também consegui resolver o problema das Aspas de uma maneira bem simples. Vários sites com soluções mirabolantes, e a mais simples de todas foi a que funcionou, pelo menos pra mim.

 

Modifiquei o:

 

 fileSaveName, FileFormat:=xlTextWindows, _
 CreateBackup:=False

 

Para:

 

 fileSaveName, FileFormat:=xlTextPrinter, _
 CreateBackup:=False

 

Isso mesmo, 1 palavrinha e resolveu o problema que tem de tudo que é solução nos sites por ai. Sites até com gente brigando.

 

Hahaha...

 

Bom é isso pessoal.

Brigado ai.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×