Notifications
Clear all

BOTÃO SALVAR

11 Posts
2 Usuários
0 Reactions
1,471 Visualizações
(@wfranca)
Posts: 297
Honorable Member
Topic starter
 

Pessoal, bom dia!

Quero atribuir em um botão uma macro que salve meu arquivo com a data e hora de hoje.

alguém pode me ajudar?

Welington Gonçalves

 
Postado : 26/04/2013 6:49 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia wfranca

Experimente:

Sub SalvarComo()
NameFolder = "C:Teste"
NameFile = Format(Now, "dd-mm-yyyy-hhmm") & ".xls"
ThisWorkbook.SaveAs (NameFolder & "" & NameFile)
End Sub

Créditos ao Adilson Soledade

Um abraço.

 
Postado : 26/04/2013 7:18 am
(@wfranca)
Posts: 297
Honorable Member
Topic starter
 

HM.. MAS FICARIA ASSIM??

Private Sub CommandButton1_Click()
Sub SalvarComo()
NameFolder = "C:Teste"
NameFile = Format(Now, "dd-mm-yyyy-hhmm") & ".xls"
ThisWorkbook.SaveAs (NameFolder & "" & NameFile)
End Sub

 
Postado : 26/04/2013 7:24 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Neste caso é só usar assim:

Private Sub CommandButton1_Click()
NameFolder = "C:Teste"
NameFile = Format(Now, "dd-mm-yyyy-hhmm") & ".xls"
ThisWorkbook.SaveAs (NameFolder & "" & NameFile)
End Sub

Att

 
Postado : 26/04/2013 7:34 am
(@wfranca)
Posts: 297
Honorable Member
Topic starter
 

Patropi, eu modifiquei para salvar como PDF...

só que esta dando erro ao abrir o arquivo... será q fiz algo errado?

 
Postado : 26/04/2013 7:51 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Como vc fez a modificação e qual a versão do seu excel?

 
Postado : 26/04/2013 7:55 am
(@wfranca)
Posts: 297
Honorable Member
Topic starter
 

Uso a versão 2010

modifiquei assim... ele salva o arquivo, mas ao abrir aparece a mensagem..
"o Adobe reader não pode abrir o arquivo pois não há suporte a esse tipo de arquivo ou ele foi danificado (por exemplo, foi enviado como anexo de email e não foi codificado corretamente)"

Private Sub CommandButton1_Click()
NameFolder = "C:Relatório de devoluções"
NameFile = Format(Now, "dd-mm-yyyy-hhmm") & ".pdf"
ThisWorkbook.SaveAs (NameFolder & "" & NameFile)
End Sub

Será que é porque ele está salvando em pdf todas minhas planilhas? numa pasta eu tenho 5 plan... eu preciso q ele apenas salve em pdf a plan2.

 
Postado : 26/04/2013 8:18 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não, com esse comando voce está apenas "salvando" sua planilha excel com a extensão PDF, experimente abrila como excel e verá que não dá erro.
Para salvar / exporta como PDF é preciso utilizar uma sintaxe diferente
De uma olhada nestes tópicos:
2007 e acima:
viewtopic.php?f=16&t=1046&p=15536&hilit=pdf#p15536
viewtopic.php?f=10&t=5193&hilit=pdf
viewtopic.php?f=10&t=6236&hilit=+pdf
viewtopic.php?f=10&t=6699&hilit=+pdf
viewtopic.php?f=10&t=7336&hilit=+pdf

Seria algo assim:

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
MyPath & Pasta & "" & arq, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
 
Postado : 26/04/2013 9:32 am
(@wfranca)
Posts: 297
Honorable Member
Topic starter
 

Muito bom Reinaldo,

usei esse abaixo e deu certo, mas como posso atribuir nessa macro um código para que ele me salve o arquivo com a data e hora de hoje?

Sub Macro1()
Dim Pasta As String, MyPath As String

Pasta = ActiveSheet.Range("P1").Value
arq = Pasta & ActiveSheet.Range("P2").Value & ActiveSheet.Range("P3").Value & ".pdf"
MyPath = "D:Teste" 'Indica em que local a pasta estará , pode ser C: ou d: ou e:....
'Verifica se o diretorio existe
If (Dir(MyPath & Pasta, vbDirectory) = "") Then
MsgBox "Diretório - " & MyPath & Pasta & " - Não encontrado"
' se não existir, cria se quiser
MkDir (MyPath & Pasta)
End If
'Verifica se o arquivo já existe, se existir, deleta
'If (Dir(Arquivo) <> "") Then
' Kill Arquivo
'End If

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
MyPath & Pasta & "" & arq, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True

End Sub

 
Postado : 26/04/2013 10:08 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

As variaveis:
MyPath - Determina o local (caminho) onde será salvo o arquivo - "D:Teste"
Pasta - Determina em qual pasta será salvo - No codigo ésta "pegando" esse nome da planilha ativa celula P1
arq - Determina o nome com o qual será salvo o arquivo - No codigo está pegando esse nome da planilha ativa celulas P2 e P3.

Então voce pode/deve alterar em "arq" para o que deseja: ou nas celulas da planilha ou conforme o codigo anterior:

arq=Format(Now, "dd-mm-yyyy-hhmm")

 
Postado : 26/04/2013 10:35 am
(@wfranca)
Posts: 297
Honorable Member
Topic starter
 

Perfeito!

Tenho muito a agradecer vcs do Planilhando!!

 
Postado : 26/04/2013 11:15 am