Ir ao conteúdo
  • Cadastre-se

Modificar Código - Exportar TXT - VBA


Ir à solução Resolvido por minoso,

Posts recomendados

Pessoal,

 

estou utilizando o código desse site para exportar as abas para TXT (http://www.exceldoseujeito.com.br/2010/12/22/macro-para-salvar-uma-planilha-xls-em-txt/) :

 

Módulo1

01 Sub SalvarComoTXT()
02     UserForm1.Show
03 End Sub
04  
05 Sub ExecutarSalvarTXT(mPlan As Worksheet, mPathSave As String)
06 Dim NovoArquivoXLS As Workbook
07  
08     'Cria um novo arquivo excel
09     Set NovoArquivoXLS = Application.Workbooks.Add
10  
11     '
Copia a planilha para o novo arquivo criado
12     mPlan.Copy Before:=NovoArquivoXLS.Sheets(1)
13  
14     'Salva o arquivo
15     Application.DisplayAlerts = False
16     NovoArquivoXLS.SaveAs mPathSave & "\" & mPlan.Name & ".txt", _
17         FileFormat:=xlText, CreateBackup:=False
18  
19     NovoArquivoXLS.Close
20     Set NovoArquivoXLS = Nothing
21     Application.DisplayAlerts = True
22  
23     MsgBox "Novo arquivo salvo em: " & mPathSave & "\" & mPlan.Name & ".txt", vbInformation
24  
25 End Sub

UserForm1

01 Private Sub CommandButton1_Click()
02  
03     'Chama a rotina para salvar como txt
04     '
Será salvo um novo arquivo txt com base na planilha seleciona na lista de opções
05     Call ExecutarSalvarTXT(Sheets(lstPlanilhas.Text), ThisWorkbook.Path)
06  
07     Unload Me   'Fecha o form
08  
09 End Sub
10  
11 Private Sub UserForm_Initialize()
12  
13     '
Chama a rotina para preencher a lista das planilha disponíveis no arquivo
14     Call PreencheLista
15  
16 End Sub
17  
18 Private Sub PreencheLista()
19 Dim sht As Worksheet
20  
21     lstPlanilhas.Clear
22  
23     For Each sht In ThisWorkbook.Worksheets
24         If sht.Name <> "Principal" Then 'Não exibe a planilha Principal
25             lstPlanilhas.AddItem sht.Name
26         End If
27     Next sht
28  
29 End Sub

 

 

O código é excelente para o que eu preciso. No entanto, queria saber no que devo alterá-lo para que ele não salve automaticamente o arquivo exportado na área de trabalho e com o nome da aba,como ele faz. Queria escolher o destino no arquivo a cada exportação ( e seu nome).

 

Abraços

Marcus

 

Link para o comentário
Compartilhar em outros sites

Sub SalvarComoTXT()
    UserForm1.Show
End Sub
 
Sub ExecutarSalvarTXT(mPlan As Worksheet, mPathSave As String)
Dim NovoArquivoXLS As Workbook
 
 
    Set NovoArquivoXLS = Application.Workbooks.Add
 
 
    mPlan.Copy Before:=NovoArquivoXLS.Sheets(1)
 
 
    ActiveWorkbook.SaveAs Filename:=Application.GetSaveAsFilename
 
    
    MsgBox "Novo arquivo salvo em: " & mPathSave & "\" & mPlan.Name & ".txt", vbInformation
 
End Sub

Já resolvi, Minoso!

 

Tinha apagado o   "NovoArquivoXLS.Close" do código!

 

Obrigado pela Ajuda!

 

Abraço

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...