Bom dia, colegas forumeiros
Com a ajuda de um colega de outro fórum há um tempinho atrás foi construído esse código que converte uma imagem em PDF.
Public Sub SALVAR_PDF()
Dim pdfIn As String
Dim pdfStamp As String
Dim pdfOut As String
Dim Pdtk As String
Dim strExec As String
VBA.ChDir ThisWorkbook.Path & ""
On Error GoTo trataErro
Application.ScreenUpdating = False
With WS_Recibo
Pdtk = "PdfTk.exe"
pdfIn = "RECIBO.pdf"
pdfStamp = "MARCA D'ÁGUA (RECIBO).pdf"
' pdfOut = "RECIBO-" & .Range("I11").Value & _
' "_" & Format(Now, "dd_mm_yy_hh_mm_ss") & ".pdf"
pdfOut = Format(Now, "yyyy.mm.dd") & " " & UCase(.Range("G17").Value) & " (RECIBO)" & ".pdf"[/color]
.PageSetup.PrintArea = ""
.PageSetup.PrintArea = .Range("B8:Q49").Address(External:=True)
.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "RECIBO.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
.PageSetup.PrintArea = ""
End With
strExec = Chr(34) & Chr(34) & Pdtk & Chr(34) & " """ & pdfIn & """ background " & Chr(34) & _
pdfStamp & Chr(34) & " output """ & pdfOut & """" ' Estrut. do comando
Call VBA.Shell("cmd.exe /C " & strExec, vbMinimizedNoFocus) ' cmd chama o utilit.que converte
Application.Wait (Now + TimeValue("00:00:06")) ' aguarda 6 seg.
If Not Dir(pdfOut) = "" Then ' verf. se o arquivo existe
Call VBA.Shell("cmd.exe /C Start " & pdfOut, vbMinimizedNoFocus) 'cmd abre o pdf convertido
End If
trataErro:
Application.ScreenUpdating = True
End Sub
__________________________________________________________________________________
Public Sub JanelaImpressao()
Application.Dialogs(xlDialogPrint).Show
End Sub
Recentemente precisei fazer uma alteração na estrutura do registro de gravação (podem ver como era na parte que está comentada e como ficou logo abaixo).
Até aí tudo bem... ele executa a rotina normalmente. Inclusive converte o PDF e o salva na pasta.
O problema surge na hora de localizar o arquivo agora... exatamente na última linha Call... antes do End If.
Ele apresenta uma msg de erro alertando que o Windows não pode localizar o arquivo (que aqui no caso começa com a data.
"O Windows não pôde encontrar o arquivo '2018.07.25'. Certifique-se de que o nome foi digitado corretamente e tente novamente."
Essa data aí é só um exemplo... refere-se ao início do nome de gravação.
E com isso ele deixa de fazer o restante da atividade que no caso era abrir o PDF convertido.
Podem me ajudar a consertar isso?
E indo mais além... na atual estrutura do código ele salva o PDF na mesma pasta onde se encontra a planilha e eu gostaria q o PDF convertido fosse salvo na pasta C:EmpresaContabilidadeRecibos Emitidos.
O que eu deveria acrescentar/alterar no código?
Muito obrigado a quem puder colaborar.
Postado : 26/07/2018 7:27 am