Ir ao conteúdo
  • Cadastre-se
Juliana Pereira Dias

Macro para salvar modelo do excel em .xlsm e .pdf

Recommended Posts

Boa tarde,

 

Encontrei a macro abaixo que salva em .xlsm e .pdf, porém quando abre a janela de salvar preciso colocar no nome do arquivo o .xlsm ou o .pdf.

 

Gostaria de saber se é possível ao clicar em Salvar / Salvar como apareça no "tipo" apenas o "Arquivo de excel habilitado para macro" e o "PDF", para que eu não tenha que colocar o formato no nome do arquivo. Neste código aparece apenas "All Files".

 

O arquivo será utilizado por varias pessoas, então não preciso determinar o nome do arquivo e nem a pasta que será salvo.

 

Obrigada!!!

 

Juliana 

 

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Dim vFilename As Variant

'Disable events so "new save" doesn't re-trigger this event
Application.EnableEvents = False

If SaveAsUI = True Then ' User selected SaveAs instead of Save

Cancel = True ' Cancel the user's original save action

'Application.DisplayAlerts = False

'Simulate built in "SaveAs", Use desired "IntialFilename" & filter
vFilename = Application.GetSaveAsFilename(fileFilter:="All Files (*.*), *.*", Title:="Save As: XLSM or PDF Only!") '

If vFilename <> False Then

    'Check to see if user is trying to save as .xlsm, .pdf, or other
    If Right(vFilename, 5) = ".xlsm" Then
        'Save file with desired parameters
        ThisWorkbook.SaveAs FileName:=vFilename, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    ElseIf Right(vFilename, 4) = ".pdf" Then
        'Export PDF with selected filename
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=vFilename, _
            Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
            OpenAfterPublish:=False
    Else
        'Alert user and do not save
        MsgBox "This workbook can only be saved in .xlsm or .pdf formats. Please try again."
    End If
End If

Debug.Print vFilename

Application.DisplayAlerts = True

End If

'Re-enable events
Application.EnableEvents = True

End Sub

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@CasaDoHardware  Gostaria que aparecesse no menu "Tipo" apenas o "PDF" e "Pasta de Trabalho Habilitada para Macro do Excel" para evitar que as pessoas que usarão a tabela salvem em outros formatos.

 

Anexei uma imagem do lugar onde aparece o tipo.

 

Obrigada.

 

 

Excel.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que nao é possivel, porém acredito que seria mais produtivo você ter dois botões um para salvar em xlsx e outro para salvar em pdf, assim você elimina os erros e inclusive se os nomes dos arquivos atenderem um padrão, (seria o ideal), é possivel salvar com esse nome.

Assim você faz de forma automatica e elimina os erros.

 

Se servir disponibilize parte de seu arquivo informando os criterios para salvar o arquivo

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

×