MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


5 participantes

    [Resolvido]Imprimir arquivos pdf selecionados

    avatar
    Chamon Consultoria
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 266
    Registrado : 31/08/2012

    [Resolvido]Imprimir arquivos pdf selecionados Empty [Resolvido]Imprimir arquivos pdf selecionados

    Mensagem  Chamon Consultoria 8/10/2018, 18:32

    Boa tarde!

    Bd em Access 2010.

    O Bd possui uma pasta externa com nome de "Documentos". Dentro desta pasta são salvos registros no formato pdf.
    Ex.:
    00001.pdf
    00002.pdf
    00003.pdf

    e assim consecutivamente...

    O Bd possui um formulário contínuo que consta em cada linha o mesmo número do registro que foi salvo em pdf e uma caixa de seleção para cada registro, chamada "Selecionar".

    O objetivo é imprimir um ou vários registros, desde que estejam marcados na caixa de seleção.

    Tabela de origem do formulário contínuo: tblDocumentos
    Campos da tabela:
    NumDoc
    Selecionar


    Como resolver isso via Vba?

    Desde já agradeço.

    avatar
    cpampas
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 83
    Registrado : 27/10/2013

    [Resolvido]Imprimir arquivos pdf selecionados Empty Re: [Resolvido]Imprimir arquivos pdf selecionados

    Mensagem  cpampas 9/10/2018, 10:10

    Bom dia,
    Nao testei o codigo, mas talvez algo assim :


    Código:
    dim strPath  
    strPath ="c:\pastaOndeEstaoPDF"

    with me.recordsetclose
    .movefirst
     do while not .eof
        if !Selecionar=-1 then
            ' aqui voce pode usar a funcao shell para abrir o PDF  , no seguinte path :
            '  strPath & format(NumDoc,"0000") & ".pdf"
               
     
        end if
    .moveNext
     loop
    end with
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [Resolvido]Imprimir arquivos pdf selecionados Empty Re: [Resolvido]Imprimir arquivos pdf selecionados

    Mensagem  DamascenoJr. 13/10/2018, 21:39

    Num módulo global, cole:

    Código:
    Option Compare Database
    Option Explicit

    #If VBA7 Then
    'versões 2010 e 2013
    Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As LongPtr, _
    ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As LongPtr
    #Else
    'versões 2003 e 2007
    Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, _
    ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As Long
    #End If

    Public Sub fncImprimir(strArquivo as string)

    Dim strCaminhoBase as string

    strCaminhoBase = CurrentProject.Path & "\"
    Call ShellExecute(0&, "print",strCaminhoBase & strArquivo, "", "", 1)

    End Sub

    E então monte uma estrutura de loop que percorra os campos com o nome dos pdfs no formulário contínuo, e dentro dela chame pelo procedimento que imprimi o arquivo
    Código:
    call fncImprimir(NomeDoArquivo)
    avatar
    Chamon Consultoria
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 266
    Registrado : 31/08/2012

    [Resolvido]Imprimir arquivos pdf selecionados Empty Re: [Resolvido]Imprimir arquivos pdf selecionados

    Mensagem  Chamon Consultoria 14/10/2018, 03:45

    IvanJr.,

    obrigado, a parte da impressão funcionou. Porém o Adobe permanece aberto após a impressão.
    Teria algum comando para fechá-lo após a última impressão?
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4771
    Registrado : 06/11/2009

    [Resolvido]Imprimir arquivos pdf selecionados Empty Re: [Resolvido]Imprimir arquivos pdf selecionados

    Mensagem  Assis 14/10/2018, 09:56

    Bom dia Amigos

    Tenho este exemplo (Anexo) que lista os PDF que estão numa pasta junto da Base de dados.

    Como podem ver no formulário tem um comando para eliminar os que desejar, assim como um comando para abrir o que desejar.

    Como por a Imprimir direto sem o abrir bastando o PDF ser selecionado na lista e clicando no respetivo botão de Imprimir.

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Chamon Consultoria
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 266
    Registrado : 31/08/2012

    [Resolvido]Imprimir arquivos pdf selecionados Empty Re: [Resolvido]Imprimir arquivos pdf selecionados

    Mensagem  Chamon Consultoria 14/10/2018, 23:43

    Boa noite!

    Após pesquisas pela net, encontrei um código que fecha o Adobe. Funcionou perfeitamente em conjunto com a função do amigo IvanJr.
    Obrigado a todos pelas sugestões.
    Abaixo segue a solução:

    Código:
    #If VBA7 And Win64 Then
        Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
        Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As LongPtr, ByVal wMsg As Long, ByVal wParam As LongPtr, lParam As Any) As LongPtr
    #Else
        Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
        Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    #End If
    Const WM_CLOSE = &H10

    Código:
    Public Sub fncImprimir(strArquivo as string)

    Dim strCaminhoBase as string

    strCaminhoBase = CurrentProject.Path & "\"
    Call ShellExecute(0&, "print",strCaminhoBase & strArquivo, "", "", 1)

    'Aqui fecha o Adobe
    Sleep 2000

        Dim strClassName As String
        Dim hwnd
       
        strClassName = "AcrobatSDIWindow"
        hwnd = FindWindow(strClassName, vbNullString)
        If hwnd Then
            SendMessage hwnd, WM_CLOSE, 0, ByVal 0&
        Else
            MsgBox "Adobe não está aberto !"
        End If
    End Sub
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [Resolvido]Imprimir arquivos pdf selecionados Empty Re: [Resolvido]Imprimir arquivos pdf selecionados

    Mensagem  DamascenoJr. 15/10/2018, 05:19

    Obrigado pelo retorno e código disponibilizado. O fórum agradece.
    avatar
    carlos_sil
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10
    Registrado : 16/01/2013

    [Resolvido]Imprimir arquivos pdf selecionados Empty Obrigado

    Mensagem  carlos_sil 4/12/2018, 14:48

    Agradeço ao IvanJr a postagem deste código que usei com sucesso. Muito obrigado

    Conteúdo patrocinado


    [Resolvido]Imprimir arquivos pdf selecionados Empty Re: [Resolvido]Imprimir arquivos pdf selecionados

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 00:53