Notifications
Clear all

Janela Salvar Como

7 Posts
2 Usuários
0 Reactions
2,400 Visualizações
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Bom dia, usando o gravador de macros e buscando na net, cheguei a dois codigos que abrem a janela Salvar Como, mas em cada um deles falta alguma coisa.

No gravador de macro...

ActiveWorkbook.SaveAs Filename:= _
"C:UsersFabioDocuments?????", FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

...não sei como fazer para que o codigo coloque como nome do arquivo o mês corrente.

Ja no codigo que busquei na net...

Dim CaixaDialogo As FileDialog
Set CaixaDialogo = Application.FileDialog(msoFileDialogSaveAs)
With CaixaDialogo
.Show
.Execute
End With

...abre a janela com a barra do nome do arquivo em branco( ate prefiro assim em relação ao primeiro caso, se não for possivel colocar o mes corrente como nome do arquivo ), e a opção de formato de arquivo no basico, sem macro.

Mais uma vez preciso da ajuda dos senhores.

Obrigado

Fabio Pradella

 
Postado : 13/07/2012 8:43 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 


Para o primeiro código, veja se atende:


nome = Month(Now()) & "_" & Year(Now()) & ".xls"

ActiveWorkbook.SaveAs Filename:=C:UsersFabioDocuments & nome, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

 
Postado : 13/07/2012 9:13 am
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Edson, obrigado pela resposta,

mas com este codigo ele salva o arquivo com o nome & nome,

me perdoe se eu estiver fazendo alguma coisa errada ou deixando de fazer.

 
Postado : 13/07/2012 10:23 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 


Ops.. faltaram as aspas no diretório... e considerar a extensão xlsm...
Tenta novamente... aqui rodou...

nome = Month(Now()) & "_" & Year(Now()) & ".xlsm"

ActiveWorkbook.SaveAs Filename:="C:UsersFabioDocuments" & nome, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

 
Postado : 13/07/2012 10:27 am
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Agora sim, como uma luva, eu tentei as aspas mas coloquei depois do & nome,

ActiveWorkbook.SaveAs Filename:="C:UsersFabioDocuments & nome",

Edson, me permita uma pergunta, este caso resolve para aquelas planilhas mensais, mas no meu caso tenho algumas que são quinzenais, ai quando mandar salvar novamente dentro daquele mes, ele vai dizer que ja tenho uma planilha com este nome, tenho alguma saida, como exemplo, se ja existir uma com este nome ele colocar um (2) por exemplo?

Muito obrigado pela força.

 
Postado : 13/07/2012 10:36 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 


Testa assim:

nome = Month(Now()) & "_" & Year(Now()) & ".xlsm"

If Dir("C:UsersEdyDocuments" & nome) = vbNullString Then
ActiveWorkbook.SaveAs Filename:="C:UsersFabioDocuments" & nome, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Else
nome = Month(Now()) & "_" & Year(Now()) & "(2).xlsm"
ActiveWorkbook.SaveAs Filename:="C:UsersFabioDocuments" & nome, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End If

 
Postado : 13/07/2012 10:53 am
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

HAHAHAHAHAH,

Melhor do que isto impossivel, obrigado pela tua atenção Edson.

Saudações.

Fabio Pradella

 
Postado : 13/07/2012 11:00 am