bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Exibindo arquivos em PDF pelo Access

Exibindo arquivos em PDF pelo Access

Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 2x no Cartão de Crédito. 

Veja como comprar e saiba mais sobre o material oferecido,  clicando aqui.

Open v3

 

Ficou muito fácil configurar o Access 2007/2010 para a exibição de arquivos em PDF, bastanto para tanto, utilizar o controle ActiveX do Adobe Reader.

Para que o ActiveX funcione é necessário que você tenha instalado na sua máquina o software Adobe Acrobate Reader.

Abra um formulário no modo estrutura e selecione o botão ActiveX na guia design da ribbon.

Abrindo Activex do Access 2007

 

Selecione da lista a opção Adobe PDF Reader e  clique em OK.

Selecionado o ActiveX Windows Media Player

 

O quadro do Reader é carregado no formulário. 

ActiveX no formulário

 

Observe o código abaixo, utilizado no exemplo que disponibilizo, que no evento "Ao abrir" do formulário, defino o tamanho do quadro e chamo pela função que carrega o arquivo PDF no ActiveX.

Private Sub Form_Open(Cancel As Integer)
'Dimensiono a tela do PDF para 22 x 15.5cm
Me.AcroPDF0.Width = 568 * 22
Me.AcroPDF0.Height = 568 * 15.5
'carrega o artigo 1 
Call fncCarregaPdf
'entrega o foco para o botão 1
Me!bt1.SetFocus
End Sub
------------------------------------------------------------------------------
Private Sub fncCarregaPdf(Optional j As Byte = 0)
Dim origem As String
On Error Resume Next
'gravo na variável o local que se encontra os arquivos PDF
origem = CurrentProject.Path & "\artigos\"
Select Case j
  Case 0 'botão 1
    Me!AcroPDF0.LoadFile origem & "artigo1.pdf" 'carrega artigo 1 no ActiveX
  Case 1 'botão 2
    Me!AcroPDF0.LoadFile origem & "artigo2.pdf"
  Case 2 'botão 3
    Me!AcroPDF0.LoadFile origem & "artigo3.pdf"
End Select
End Sub

Veja o resultado de um dos artigos sendo carregado no formulário:

ActiveX Windows Media Player no Access 2007

 

Bom estudo!


 

 


41 comentário(s)

Jaildo de Araujo   24/03/2019 15:53:16


Caros, O código estava funcionando. agora apresenta erro quando clico no Comando30 e eu não consigo saber o motivo:

Erro 438: o objeto não aceita esta propriedade ou método.

Private Sub Comando30_Click()
Me!AcroPDF0.LoadFile "\\s3dcag044\Arquivos\Gestor\Informe\Desempenho.pdf" 'carrega arquivo no ActiveX
End Sub
Private Sub Form_Load()
'Dimensiono a tela do PDF para 27 x 15.5cm
Me.AcroPDF0.Width = 568 * 27
Me.AcroPDF0.Height = 518 * 15.5
End Sub

Jaildo de Araujo   24/03/2019 15:52:25

Caros, O código estava funcionando. agora apresenta erro quando clico no Comando39 e eu não consigo saber o motivo:

Erro 438: o objeto não aceita esta propriedade ou método.

Private Sub Comando30_Click()
Me!AcroPDF0.LoadFile "\\s3dcag044\Arquivos\Gestor\Informe\Desempenho.pdf" 'carrega arquivo no ActiveX
End Sub

Private Sub Form_Load()
'Dimensiono a tela do PDF para 27 x 15.5cm
Me.AcroPDF0.Width = 568 * 27
Me.AcroPDF0.Height = 518 * 15.5
End Sub

Jaildo de Araujo   24/03/2019 15:52:21

Caros, O código estava funcionando. agora apresenta erro quando clico no Comando39 e eu não consigo saber o motivo:

Erro 438: o objeto não aceita esta propriedade ou método.

Private Sub Comando30_Click()
Me!AcroPDF0.LoadFile "\\s3dcag044\Arquivos\Gestor\Informe\Desempenho.pdf" 'carrega arquivo no ActiveX
End Sub

Private Sub Form_Load()
'Dimensiono a tela do PDF para 27 x 15.5cm
Me.AcroPDF0.Width = 568 * 27
Me.AcroPDF0.Height = 518 * 15.5
End Sub

Renan   07/06/2017 21:12:31

Avelino,

Tem como manipular este arquivo carregado? Tipo se eu quiser buscar uma palavra dentro deste arquivo carregado e carregar as ocorrências dela dentro de uma listbox, eu consigo?

Regina Cely   25/01/2017 02:19:25

Oi Avelino,

Não implementei aquela rotina do cálculo anterior. Na ocasião, por algumas razões, minha chave era caracter e ainda continua mas criei um campo sequencial, inteiro longo, com numeração automática e posso aplicar então.
Mas o motivo de eu ter entrado é que precisava de uma rotina para ler arquivos pdf no Access.
E agradeço pois consegui aqui uma orientação precisa.
Um abraço,

Renan   15/04/2016 18:03:27

Avelino,

Consigo carregar uma visualização no formulário desse jeito com arquivos de word e excel?

Adriana   27/01/2016 16:01:35

Avelino

eu implementei o código de exibição de pdf em um servidor que usava Windows 7. Várias pessoas faziam uso do sistema por acesso remoto, além de acesso da rede local. Estava tudo funcionando perfeitamente. Mas o servidor foi formatado e instalado o windows server. A partir daí, quando é feito o acesso remoto, não se consegue visualizar os arquivos pdf. O acesso local continua funcionando perfeitamente.

Vc tem alguma dica para solucionar o problema? Agradeço desde já.

Glauco   09/12/2015 18:24:47

Tenho a mesma dúvida do colega acima

Anderson   29/01/2015 12:33:31

Avelino, boa tarde!

Implementei este código no meu aplicativo, ficou muito bom, porém o nome do arquivo PDF eu defini como um campo da minha tabela de registros e gostaria que a cada vez que eu mudasse o meu registro no formulário, a visualização do arquivo PDF também fosse atualizada sem ter que apertar o botão (que deixei oculto), como fazer essa pequena alteração?

Grato.

Cleverson   05/05/2014 14:29:00

Estou com um problema. Consigo abrir, imprimir mas imprime com orintação portrait.
Eis o código
Me.AcroPDF02.Width = 568 * 22
Me.AcroPDF02.Height = 568 * 15.5
Me.AcroPDF02.LoadFile ("C:\Teste\Relatorio de produção 25.4.2014 - Cópia (2).pdf")
Application.Printer.Orientation = acPRORLandscape
Me.AcroPDF02.printAll

o comando Application.Printer.Orientation = acPRORLandscape não está funcionando e não mostra erro.
simplesmente imprime no modo retrato.
Poderia me ajudar?


Avelino Sampaio   02/04/2014 18:49:45

Se estiver usando a versão de 64 bits do Office 2010 realmente não tem o Active X do PDF.


Rafael batista   02/04/2014 18:29:52

Olá Avelino, no meu win 7 não está rodando o pdf no access, eu nem acho ele na lista do activex.

segundo sua disposição você poderia me ajudar?

Access 2010

Avelino Sampaio   01/04/2014 16:11:58

Luis Araujo,

experimente este :

application.FollowHyperlink currentProject.path & "\artigos\Tabela03.pdf

ou

application.FollowHyperlink origem & "\artigos\Tabela03.pdf

Sucesso!

Luis Araujo   01/04/2014 12:09:58

Boa Tarde
Uma simples questão como posso abrir um pdf estando a ligação num modulo
Gostaria de abrir em formato htm ou pdf
Já experimentei algumas destas.

Public Sub fncOnAction(control As IRibbonControl)
On Error GoTo Trataerro
Select Case control.ID
Case "bt03"
'DoCmd.AcroPDF0.LoadFile origem & "\artigos\Tabela03.pdf
'DoCmd.OpenFile CurrentPath & "\artigos\Tabela03.pdf"

Ismael   09/11/2013 08:17:45

Ótimo artigo Avelino,
Implementei ele em uma aplicação. Porém preciso girar a visualização do pdf após a abertura.
Tentei usar, após o comando Me!AcroPDF0.LoadFile a instrução:
SendKeys "+^{+}"
Ela seria o atalho (Shift + Ctrl + Adição), atalho para girar a visualização no adobe.
Porém não obtive sucesso.
Tem alguma idéia do que possa ser?
Obrigado e muito sucesso!

Avelino Sampaio   20/09/2013 06:13:41

Hugo,

sim, vá na seção "Tutorias" aqui do site e veja o artigo "Gerar relatórios em pdf e enviar por email"

Sucesso!

Hugo Furtado   20/09/2013 05:59:59

Boas,
Como faço um relatório feito em access 2007 e depois quando click no botão imprimi já vem como pdf, é possivel?

Walter   15/07/2013 19:54:14

Avelino, tenho lido o seu artigo "64 bits - Seus aplicativos no futuro do presente", mas ainda não estou por entender como faço funcionar o pdf no access, já que o ActiveX não funciona em 64 bits. Você já conseguiu algo do tipo?
Abraços

Moreschi   12/07/2013 09:49:32

Olá Avelino, tudo bem?
Como faço para saber os nomes dos campos de uma tabela via VBA?
Abraços

Avelino Sampaio   29/05/2013 04:55:29

Helio,

Quando é que um PDF se tornou editável ? Que programa vc usa para isso ?

Bom, nunca vi este recurso no Access.

Você pode gerar PDF de um relatório desde a versão 2007.

Sucesso!

Hélio Sales   28/05/2013 17:08:30

Senhores, tenho um pdf editável. Saberiam me dizer se consigo fazer essa edição pelo access 2007/2010.
Grato e parabéns pelas matérias publicadas.

Lelson Barbosa   03/04/2013 08:50:16

Avelino,

Obrigado vou efetuar essas revisões e retornar o resultado

Avelino Sampaio   03/04/2013 08:46:39

Lelson,

verifique també se o Abode Reader está instalado.

Sucesso!

Avelino Sampaio   03/04/2013 08:45:02

Lelson

então o outro pc pode estar usando o Office 2010 de 64 bits. O ActiveX não funciona na versão de 64 bits. Verifique.

Vá na seção tutorial aqui do site e leia o artigo "64 bits - Seus aplicativos no futuro do presente"

Sucesso!

Lelson Barbosa   03/04/2013 07:44:19

Avelino,

Avelino esqueci-me de dizer que estou a utilizar o access 2010, o meu projeto não abre no access 2007. Obrigado

Avelino Sampaio   03/04/2013 06:10:02

Lelson,

Isso acontece por que o outro PC não está com Office 2007 atualizado. Leia o artigo "Não deixar abrir se não tiver o Service Pack 2 instalado" aqui na seção DICAS do site.

Sucesso!

Lelson Barbosa   03/04/2013 06:00:16

Avelino,
Utilizei tudo direitinho como você explica ai e o meu arquivo PDF visualiza normalmente, mas quando eu copio o meu projeto pra outro pc ele não encontra o obeto (o PDF), vale mencionar que usei uma macro para chamr o formulário.

Waldson   31/03/2013 20:00:09

Boa noite a todos,

Consegui abrir o arquivo .pdf não em um formulário e sim pelo Application.FollowHyperlink.
Gostaria de saber se tem como imprimir uma página específica.
exemplo: imprimir as páginas 2, 4 e 6 deste arquivo aberto.
Agradeço a todos pela orientação.

João Paulo   02/04/2012 15:44:24

Avelino,
Esqueci de mencionar, se quiser passar informações com anexos, estou na sua lista de usuários do Monta Ribons. Tenho uma licença de uso.
Valeu!

João Paulo   02/04/2012 15:42:32

Avelino,
Acho melhor eu descrever o problema por completo.
Eu utilizo como base do meu aplicativo, o seu Maestro. Para visualizar os PDF mesclei a listagem de documentos através do formulario "Form_frmPermissõesUsuários" da solução do Maestro que usa o "RowSource" + controle ActiveX. No PC em que desenvolvo o aplicativo está instalado o WinXP SP3 + Access 2007 e nesta configuração o aplicativo está funcionando perfeitamente.
Depois de testado publiquei o programa em servidor que utiliza o Windows Server 2003 + Access 2007, e ai que começa o problema. Quando eu executo o programa diretamente do servidor ou por atalho em qq outro PC diferente do meu, ao abrir aparece a mensagem "Can't find project or library" e não inicia o programa. Então vou até a biblioteca e vejo que não existe uma referencia, pois aprece a seguinte mensagem "MISSING: Acrobat Access 3.0 Type library" na lista de referências. Pronto, desmarco essa opção, o aplicativo inicia normalmente, porém não consigo que a lista de documentos que eu quero ver em pdf apareça.
Esse problema não acontece no meu pc. Posso marcar e desmarca essa referencia que ele funciona normalmente, mas em qq outro pc ele não funciona.
Não sei mais o que fazer. Se souber algo, fico muito grato.

Avelino Sampaio   02/04/2012 14:38:04

João,

mas vc está com o Access 2007 ? Se estiver, atualize com o pacote Sp3, que vc baixa do site da Microsoft.

Se estiver com o Access 2010 e for de 64bits, creio que vc não terá a sua disposição o Active X. Teras que procurar outra solução.

Qual é a mensagen do erro ?

João Paulo   02/04/2012 14:08:32

Avelino,
Estou com o mesmo problema exposto acima pelo Robson, porém eu ainda não encontrei a solução. Ficaria grato se alguém tivesse uma luz.
Obrigado

Williams   30/03/2012 18:12:56

Claudio Alves de Oliveira teria como disponibilizar o banco de dados (sistema de arquivo de documentos.) que comentou como exemplo ?

Madson Braz   10/11/2011 17:13:26

1º: Avelino muito boa essa dica.

2º: Claudio Alves de Oliveira , no site http://www.adobe.com/products/acrobat/technical-resources.html tem um SDK para Acrobat que demonstra o uso da ferramenta, acredito que encontre lá os parâmetros para concatenar pdfs usando alguma dll da adobe.

3º: Uma dica> Toda vez que "lodava" um arquivo ele voltava para a visualização de página inteira. Então buscando na internet os métodos que compõem o objeto, para verificar como setar o zoom de exibição, encontrei um pdf que lista todos eles: http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/reader/pdfs/reader_overview.pdf
Usei o setZoom e adicionei ao código que carrega o arquivo, ficando assim:

flPdf = "s:\temporario\" & Me.Lista0.Column(0)
Me.AcroPDF2.LoadFile flPdf
Me.AcroPDF2.setZoom (90)

No caso aqui setei para carregar em 90%



Claudio Alves de Oliveira   19/08/2011 17:22:41

Boa Tarde...

Achei muito util o artigo pois até hoje eu usava a visualização pelo WebBrowser para os arquivos PDF...

A proposito... você sabe se é possivel fazer isto em relatórios?

Digo porque tenho um sistema de arquivo de documentos... Assim a empresa scaneia todos os documentos em PDF e o sistema os arquiva na rede, no entanto as vezes uma àrea da empresa pede os documentos relacionados a um assunto em especial e eu gostaria de criar um relatorio consolidando com todos os PDFs arquivados sobre o assunto em um único PDF do sistema.

Eu já consigo fazer isto com os documentos armazenados como JPG "Relatório Fotográfico" mas não sei se da para fazer com PDFs.

Márcio Melo - Rio de Janeiro/RJ   27/11/2010 18:58:26

Hoje, aproveitei para implementar essa grande dica com muito estilo, adicionei em meu projeto um simples leitor PDF apontando como você sugiriu para uma pasta [artigo] e para complementar coloquei uma combobox listando todos os artigos desta pasta, bastando o leitor escolher e pronto já esta ao seu alcance a leitura do pdf - nesse link tem como listar os arquivos de um diretório (http://www.tomasvasquez.com.br/blog/microsoft-office/vba-listar-arquivos-de-um-diretorio) para ajudar vou deixar aqui parte de como fiz a chamada da função para montar a lista, olhem o resto da função no link

Dim arquivos() As String
Dim listagem As Variant
Dim lCtr As Long
arquivos = ListaArquivos(origem)
For lCtr = 0 To UBound(arquivos)
' Debug.Print arquivos(lCtr) & ";" 'RowSource - separar por ponto e virgula
listagem = listagem & arquivos(lCtr) & ";"
Next
Me.Comb1.RowSource = listagem
lembrar que na combobox, deve estar configurada para lista de valores.

Então, Avelino resolvi seguir o seu conselho e nesta pasta artigos vou colocar os pdf relacionado a ajuda do programa de maneira que a própria empresa possa fazer esse tutorial.

Sou mais Brasil! forte abraço

Avelino Sampaio   27/09/2010 11:02:35

Robson,

Obrigado pelo seu retorno e peço mil desculpas pela minha falta de retorno.

Sucesso

Robson   27/09/2010 09:26:37

Avelino, mesmo que você não tenha escrito nada a a respeito do meu comentário de 16/09/10, informo que já resolvi o problema.

Robson   16/09/2010 16:49:41

Avelino, muito bom o artigo.
Eu tenho um aplicativo (winXP e access2007) e utilizei parte de seu código para visualizar arquivos pdf.
Trocamos nossos equipamentos para win7 e access2010 e o sistema não esta exibindo os arquivos.
Gostaria de saber se você tem alguma sugestão.
Obrigado!

Avelino Sampaio   20/08/2010 10:34:35

Marcelo,

testei num caidinho que tenho aqui e sinceramente, não achei que compremeteu não.

Grato pela sua participação.

Marcelo   19/08/2010 13:45:02

olá avelino gostei muito do artigo, mas vem cá, lá aonde define altura e largura, se colocasse direto em twips não se ganharia alguns microssegundos no carregamento do pdf? imagino que da forma que voce coloca o access irá gastar micronesimos de segundo calculando antes para depois abrir ou não?
se essa teoria estiver certa talvez em pcs menos robustos isso possa fazer uma maior diferença. o que tu diz?


Envie seu comentário: