Notifications
Clear all

Salvar em PDF na pasta desejada

4 Posts
3 Usuários
0 Reactions
1,308 Visualizações
(@gabrba)
Posts: 33
Trusted Member
Topic starter
 

Bom dia à todos!

Necessito de uma super ajuda!!
Fiz o código abaixo para poder salvar formulários de testes em PDF, só que há uma parte que, de vez em quando resulta em um erro ou o arquivo simplesmente não é salvo na pasta desejada (às vezes salva no desktop, na pasta documentos ou no local onde a tabela está salva).

Necessito matar a charada do porque de não estar salvando no local informado pelo código!

No método destacado em negrito, também coloquei ChDir que acaba retornando no mesmo resultado:

S

ub SALVARPDF()

'Macro para gerar um arquivo PDF.

   [b]ChDrive[/b] ("[i]local onde desejo salvar[/i]")

    'Range("B7") que refere-se a célula B7 da planilha atual, nela deve conter
'o nome. Se precisar mudar o endereço basta alterar o "B7" pela
'referência desejada.

   ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        Destino & Range("B7").Value & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False

 End Sub
 
Postado : 10/08/2016 5:19 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Procure utilizar ChDir, ChDrive você altera a letra da unidade e se não reverter terá problemas

ChDir "M:MeusArquivos"

De uma olhada no tópico abaixo:
viewtopic.php?f=10&t=2848&hilit=GetOpenFilename

Na instrução para salvar você tem uma variável "Destino", o que está sendo carregado nesta Variável ? Pode ser que o erro provenha dela tambem.

[]s

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

 
Postado : 10/08/2016 5:40 am
selmo
(@selmo)
Posts: 236
Estimable Member
 

Considerando que na variavel "Destino" voce tenha definido o caminho de salvamento, e na celula B7 o nome do arquivo, então o mesmo era para estar salvando corretamente, a menos que você não tenha permissão de leitura e gravação do diretorio especificado.
Em todo caso, segue abaixo o seu código um pouco alterado e comentado, mas funcional.

Sub SALVARPDF()
Dim NomeArquivo As String 'NOME DO ARQUIVO QUE SERÁ UTILIZADO NO SALVAMENTO
Dim Destino As String 'VARIAVEL RESPONSAVEL POR ARMAZENAR O CAMINHO A SER UTILIZADO

'AQUI EU DEFINI O DIRETORIO COMO SENDO O "c:", MAS VOCÊ PODE DEFINI-LO OU ATRIBUIR O ENDEREÇO DE UMA CELULA
Destino = "c:"
'PARA EVITAR TRANSTORNOS FUTUROS, O IDEAL É SEMPRE SETAR O CAMINHO ABSOLUTO DA CELULA, OU SEJA A GUIA
'QUE POSSUE OS DADOS, POIS SEM ISSO ELE BUSCARA NA GUIA ATIVA, OQUE PODE RESULTAR EM ERRO
NomeArquivo = Sheets("plan1").Range("b7").Value

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Destino & NomeArquivo & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
MsgBox "O ARQUIVO FOI GERADO COM SUCESSO" & vbNewLine & Destino & NomeArquivo & ".PDF", vbInformation, "SALVAMENTO"
End Sub

"A mente que se abre a uma nova ideia jamais voltará ao seu tamanho original."
Albert Einstein

 
Postado : 10/08/2016 5:45 am
(@gabrba)
Posts: 33
Trusted Member
Topic starter
 

Olá, muitíssimo obrigado pela ajuda! Está funcionando perfeitamente!

Irei testar durante o dia, se não ocorrer nenhum erro o irei marcar como resolvido.

Um abraço.

 
Postado : 10/08/2016 7:57 am