Notifications
Clear all

Vba para salvar como PDF - Melhorias

2 Posts
2 Usuários
0 Reactions
953 Visualizações
(@jnexcel)
Posts: 298
Reputable Member
Topic starter
 

bom dia!

por favor, alguém poderia me ajudar com um código?

o código é esse:

    ChDir "C:UsersFiscalDesktop"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:UsersFiscalDesktopteste.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False

ele permite salvar o conteúdo do excel em pdf, porém não permite escolher o local e o nome que será salvo o arquivo.

Alguém poderia me ajudar?

melhorias:
1º poder escolher o nome do arquivo
2º poder escolher o local para salvar o arquivo.

muito obrigado a todos pela atenção.

 
Postado : 12/03/2018 8:53 am
(@klarc28)
Posts: 971
Prominent Member
 
'Procedimento para salvar arquivos
Sub lsSalvar()
    Dim fDlg    As FileDialog

    Set fDlg = Application.FileDialog(FileDialogType:=msoFileDialogSaveAs)

    'Nome padrão para salvar o arquivo
    fDlg.InitialFileName = ActiveWorkbook.Name

    fDlg.Show
End Sub

'Procedimento para selecionar arquivos
Sub lsSelecionarArquivo()
    Dim fDlg As FileDialog
    Dim lArquivo As String

    'Chama o objeto passando os parâmetros
    Set fDlg = Application.FileDialog(FileDialogType:=msoFileDialogOpen)
    With fDlg
        'Alterar esta propriedade para True permitirá a seleção de vários arquivos
        .AllowMultiSelect = False

        'Determina a forma de visualização dos aruqivos
        .InitialView = msoFileDialogViewDetails

        'Filtro de arquivos, pode ser colocado mais do que um filtro separando com ; por exemplo: "*.xls;*.xlsm"
        .Filters.Add "Texto", "*.txt", 1

        'Determina qual o drive inicial
        .InitialFileName = "C:"
    End With

    'Retorna o arquivo selecionado
    If fDlg.Show = -1 Then
        lArquivo = fDlg.SelectedItems(1)
        MsgBox "O arquivo selecionado está em: " & lArquivo
        Cells(5, 5).Value = lArquivo
    Else
        MsgBox "Não foi selecionado nenhum arquivo"
    End If
End Sub

'Procedimento para salvar arquivos
Sub lsSelecionarPasta()
    Dim fDlg    As FileDialog
    Dim lPasta  As String

    Set fDlg = Application.FileDialog(FileDialogType:=msoFileDialogFolderPicker)

    'Retorna a pasta selecionada
    If fDlg.Show = -1 Then
        lPasta = fDlg.SelectedItems(1)
        MsgBox "A pasta selecionada foi: " & lPasta
        Cells(2, 5).Value = lPasta
    Else
        MsgBox "Não foi selecionada nenhuma pasta"
    End If
End Sub
 
Postado : 12/03/2018 9:29 am