Notifications
Clear all

Salvar PDF com o nome do arquivo Excel

5 Posts
3 Usuários
0 Reactions
855 Visualizações
(@leostamato)
Posts: 15
Active Member
Topic starter
 

Pessoal,

Alguém pode me ajudar a fazer com que essa rotina gere o PDF já com o nome da planilha Excel e não com o nome de uma aba específica, como está agora.

Att.

Private Sub CommandButton1_Click()
Dim i As Integer, iArr As Integer
Dim Nome_Arquivo As String
Dim myArray() As Variant
iArr = 0
'Conta os itens do listbox
For i = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(i) Then
        ReDim Preserve myArray(iArr)
        myArray(iArr) = ListBox1.List(i)
        iArr = iArr + 1
    End If
Next
'Nome do Arquivo será primeira planilha selecionada
Nome_Arquivo = "C:Relatórios" & myArray(0) & ".pdf"
Sheets(myArray).Select
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Nome_Arquivo, Quality _
        :=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=True
Sheets(1).Select
End Sub
 
Postado : 03/09/2015 2:28 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Essa salva pelo nome do arquivo

Sub Macro2()

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:relatoriosNome do arquivo.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
End Sub

Tente ajustar a sua necessidade.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 03/09/2015 4:44 pm
(@leostamato)
Posts: 15
Active Member
Topic starter
 

Bom dia MP,

Da forma como vc colocou eu teria que pré-estabelecer um nome para o arquivo, certo?

Minha planilha é um formulário template, ou seja, não tem nome pré-estabelecido. Para cada ficha preenchida, o Excel será renomeado e preciso que a macro de gerar pdf use o "nome do Excel.pdf" salvo na planilha, na pasta C:/Relatórios.

É possível? abs

 
Postado : 04/09/2015 6:29 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Experimente

Private Sub CommandButton1_Click()
Dim i As Integer, iArr As Integer
Dim Nome_Arquivo As String
Dim myArray() As Variant, nArq
iArr = 0
'Conta os itens do listbox
For i = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(i) Then
        ReDim Preserve myArray(iArr)
        myArray(iArr) = ListBox1.List(i)
        iArr = iArr + 1
    End If
Next
'Obtem o nome do arquivo e separa a extensão
nArq = Split(ThisWorkbook.Name, ".") 'nArq(0) = nome do arquivo sem extensão
'Nome do Arquivo será nome do arquivo corrente
Nome_Arquivo = "C:Relatórios" & nArq(0) & ".pdf"
Sheets(myArray).Select
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Nome_Arquivo, Quality _
        :=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=True
Sheets(1).Select
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 04/09/2015 6:48 am
(@leostamato)
Posts: 15
Active Member
Topic starter
 

Deu certo. Obrigado!!

Eu só alterei "nArq = Split(ThisWorkbook.Name, ".")" para "nArq = Split(ThisWorkbook.Name, ".pdf")"

 
Postado : 04/09/2015 8:31 am