Ir ao conteúdo
  • Cadastre-se
Kahlil Barbosa

Abrir PDF automaticamente depois de Salvo - VBA

Recommended Posts

Boa tarde!
Estou com um problema para abrir um arquivo pdf depois de salvo pelo VBA do Excel. Acontece que a macro abre um doc existente  do Word em "modo invisível", insere os dados dor Form nele e depois salva uma cópia desse arquivo como pdf. E é aí que está o problema, o arquivo pdf salvo não abre automaticamente.
Já tentei OpenAfterExport e OpenAfterPublish, mas nada de funcionar.

Alguém tem uma solução?

O problema está na linha oWord.ActiveDocument.SaveAs FileName:=filePath, FileFormat:=17

 

Private Sub PDF()'DeclaraçõesDim oWord  As ObjectDim oWordSource As ObjectDim oWorkbookName As StringDim filePath As VariantDim wPasta As StringDim wArquivo As StringDim wNomeCopia As StringwPasta = ThisWorkbook.PathwArquivo = "Arquivos\OS.docx"wNomeCopia = "OS" & txtOS.Text & "_" & Format(Now(), "MMDDYYYY") & ".pdf" Application.DisplayAlerts = False'Criar AplicaçãoOn Error Resume Next    Set oWord = GetObject(, "Word.Application")    If oWord Is Nothing Then    Set oWord = CreateObject("Word.Application")    End If    On Error GoTo 0'Abrir Documento    Set oWordSource = oWord.Documents.Open(wPasta & "\" & wArquivo)    'Nomear oWorkbookName = ThisWorkbook.Path & "\" & ThisWorkbook.Name'Realizar Mala Direto oWordSource.Bookmarks("datai").Range = txtDataOS.Text oWordSource.Bookmarks("datai2").Range = txtDataOS.Text oWordSource.Bookmarks("OS").Range = txtOS.Text oWordSource.Bookmarks("usuario").Range = txtEdit.Text oWordSource.Bookmarks("nome").Range = txtSolicitante.Text oWordSource.Bookmarks("rg").Range = txtRG.Text oWordSource.Bookmarks("end").Range = txtEndereco.Text oWordSource.Bookmarks("classe").Range = cmbClasse.Text oWordSource.Bookmarks("classe2").Range = cmbClasse.Text oWordSource.Bookmarks("bairro").Range = txtBairro.Text oWordSource.Bookmarks("num").Range = txtNum.Text oWordSource.Bookmarks("fone").Range = txtTelefone.Text oWordSource.Bookmarks("operador").Range = txtOperador.Text oWordSource.Bookmarks("dataf").Range = txtDataFinal.Text oWordSource.Bookmarks("OBS").Range = txtObs.Text oWordSource.Bookmarks("email").Range = txtEmail.Text oWordSource.Bookmarks("servico").Range = cmbServico.Text oWordSource.Bookmarks("cadastro").Range = txtCadastro.Text 'SalvarfilePath = Application.GetSaveAsFilename(wNomeCopia & ".pdf", "PDF (*.pdf), *.pdf")If VarType(filePath) = vbString ThenoWord.ActiveDocument.SaveAs FileName:=filePath, FileFormat:=17MsgBox "O PDF foi salvo com sucesso!"End IfApplication.DisplayAlerts = False'Tornar VisiveloWord.Visible = False'Imprimir'oWord.ActiveDocument.PrintOut'FecharoWord.ActiveDocument.Saved = TrueoWord.ActiveDocument.CloseoWord.Quit'Liberar Memória    Set oWordSource = Nothing    Set oWord = Nothing End Sub

Grato

 

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

×