Notifications
Clear all

Exportar para o excel e não txt

7 Posts
2 Usuários
0 Reactions
1,404 Visualizações
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Boa noite
Alterei essas linhas da macro de exportar (originalmente para txt) para Excel. Até salva nesse formato, mas quando vai abrir, aparece a mensagem de que o formato etá errado. A plan de origem tem formato xlsb. Trocando-se, xlsx por txt, funciona 100%. Grato.

fileSaveName = "Desktop" + VBA.Strings.Format(Now, "dd-mm-yyyy") + ".xlsx "
fileSaveName = Application.GetSaveAsFilename(InitialFileName:="D" + VBA.Strings.Format(Now, "dd-mm-yyyy") + ".xlsx ", fileFilter:="Text Files (*.xlsx), *.xlsx")

newBook.SaveAs Filename:=fileSaveName, FileFormat:=xlTextWindows, CreateBackup:=False

 
Postado : 21/05/2015 1:53 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não sei se entendi direito, mas não seria isto :

'No Excel 2010 altere .XLS para .XLSX or .XLSM
Sub Xxxxx_SaveAs()
    Dim fname
    fname = Application.GetSaveAsFilename(InitialFileName:="", FileFilter:="Excel Files (*.XLS), *.XLS", Title:="Save As")
    If fname = False Then Exit Sub
    ActiveWorkbook.SaveAs Filename:=fname
End Sub

fonte : http://www.mrexcel.com/forum/excel-ques ... -help.html

[]s

 
Postado : 21/05/2015 10:40 pm
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Mauro, o código completo, salva mas não abre.
Sub Salvar()
Application.ScreenUpdating = 0
Dim Pasta As String
Application.DisplayAlerts = False
template_file = ActiveWorkbook.FullName

fileSaveName = "Desktop" + VBA.Strings.Format(Now, "dd-mm-yyyy") + ".xlsm"
fileSaveName = Application.GetSaveAsFilename(InitialFileName:="DLista Reserva" + VBA.Strings.Format(Now, "dd-mm-yyyy") + ".xlsm", fileFilter:="Excel Files (*.xlsm), *.xlsm")
Dim newBook As Workbook
Dim plan As Worksheet
Dim Intervalo As Range

Set Intervalo = [DB16]

Set newBook = Workbooks.Add
ThisWorkbook.Activate
Intervalo.Copy
newBook.Sheets(1).[A1].PasteSpecial xlPasteValues

For i = newBook.Sheets.Count To 2 Step -1
newBook.Sheets(i).Delete
Next
newBook.SaveAs Filename:=fileSaveName, FileFormat:=xlTextWindows, CreateBackup:=False
newBook.Close SaveChanges:=True
Set newBook = Nothing
Application.ScreenUpdating = 1
End Sub

 
Postado : 22/05/2015 5:02 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bem melhor quando temos a rotina completa, agora entendi, e neste caso o problema é quase no final da mesma, você está definindo o tipo do arquivo como "TEXTO" (FileFormat:=xlTextWindows) :

Troque esta :
newBook.SaveAs Filename:=fileSaveName, FileFormat:=xlTextWindows, CreateBackup:=False

por esta :
newBook.SaveAs Filename:=fileSaveName, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

Faça os teste, e veja se é isto.

[]s

 
Postado : 22/05/2015 7:04 pm
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Bom dia
Alguma coisa não saiu nos conformes, veja:

 
Postado : 25/05/2015 7:07 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Dimorais, é somente um errinho de digitação, em vez de você escrever :

xlOpenXMLWorkbookMacroEnable
d

você escreveu :
xlOpenXMLWorkbookMacroEnable sem o "d"

[]s

 
Postado : 25/05/2015 9:01 am
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Ma ki burru, dah zeru pa êli fesô. :lol:

 
Postado : 25/05/2015 1:11 pm