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


2 participantes

    [Resolvido]Exportar Relatório PDF para pasta criada via VBA

    avatar
    rogerparana
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 09/09/2012

    [Resolvido]Exportar Relatório PDF para pasta criada via VBA Empty [Resolvido]Exportar Relatório PDF para pasta criada via VBA

    Mensagem  rogerparana Qua 28 Jul 2021, 2:39 am

    Boa noite!

    Estou com uma dificuldade e gostaria de solicitar ajuda aos amigos do fórum.
    Uso estas funções para criar um diretório por Ano / Mes / Dia, ao abrir o Relatorio  Rel_OrdemServiçoViaCli, atribuido ao abrir do relatório:

    Public Const scaminho = "E:\GalBrill\OrdemServiço\"
    Dim pasta As New filesystemobject
    Public Function fnccriardiretorio(data As Date)
    If pasta.FolderExists(scaminho & "\" & Format(data, "yyyy")) Then
        Call fncMes(data)
    Else
        pasta.CreateFolder (scaminho & "\" & Format(data, "yyyy"))
        Call fncMes(data)
    End If
    End Function
    '-----------------------------------------------------------------
    Public Function fncMes(data As Date)
    If pasta.FolderExists(scaminho & "\" & Format(data, "yyyy") & _
    "\" & Format(data, "mmmm")) Then
    Call fncDia(data)
    Else
    pasta.CreateFolder (scaminho & "\" & Format(data, "yyyy") & _
    "\" & Format(data, "mmmm"))
    Call fncDia(data)
    End If
    End Function
    '-----------------------------------------------------------------
    Public Function fncDia(data As Date)
    If pasta.FolderExists(scaminho & "\" & Format(data, "yyyy") & _
    "\" & Format(data, "mmmm") & "\" & Format(data, "dd-mm-yy")) Then
    'chama função
    Else
    pasta.CreateFolder (scaminho & "\" & Format(data, "yyyy") & _
    "\" & Format(data, "mmmm") & "\" & Format(data, "dd-mm-yy"))
    End If
    End Function


    Preciso exportar o relatório em pdf para o Diretório com o dia especifico criado pela ultima função:
    O dia específico será sempre a data atual, pois as OS são geradas diariamente.
    Estou usando o código abaixo para gerar o pdf e esta funcionando, atribuído ao clicar de um button no Relatorio:

    Private Sub ViraPdf()
    Dim strLocal As String
    Dim strArquivo As String
    strArquivo = Format(Me!Ped_OS, "dd-mm-yy") & " - OS" & Me!nProposta & " - " & Me!NomeCliente & ".pdf"
    strLocal = scaminho
    DoCmd.OutputTo acOutputReport, "Rel_OrdemServiçoViaCli", acFormatPDF, strLocal + strArquivo, True  'abre o pdf
    End Sub

    Caso alguem puder me auxiliar, desde já agradeço.

    Saudações.


    Última edição por rogerparana em Qui 29 Jul 2021, 8:31 pm, editado 3 vez(es)
    avatar
    rogerparana
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 09/09/2012

    [Resolvido]Exportar Relatório PDF para pasta criada via VBA Empty Exportar Relatório PDF para pasta criada via VBA

    Mensagem  rogerparana Qua 28 Jul 2021, 6:18 pm

    Solução encontrada, após um tempo de pesquisa e estudo.

    Private Sub ViraPdf()
    Dim strLocal As String
    Dim strArquivo As String
    Dim DATA, Dia, Mes, Ano As String
    Dim str1 As String
       
       'scaminho é uma constante que possue o caminho do diretório padrão onde serão exportados os arquivos.
       'o arquivo exportado para dentro da pasta criado abaixo, com base na data do Pedido da OS - ped_OS
       
       DATA = Ped_OS 'Campo do relatório com a data do pedido
       Dia = Left(DATA, 2)
       Mes = Right(Left(DATA, 5), 2)
       Ano = Right(DATA, 4)
       
    'Criar objeto
       Set FSO = CreateObject("Scripting.FileSystemObject")
         
    'Se não existir a pasta do ano atual dentro da "Ano", ela é criada.
          If Not FSO.FolderExists(sCaminho & "\" & Ano & "\") Then
               MkDir sCaminho & "\" & Ano & "\"
          End If
         
    'Se não existir a pasta do mês atual dentro da pasta do ano atual, ela é criada.
          If Not FSO.FolderExists(sCaminho & "\" & Ano & "\" & Mes) Then
                MkDir sCaminho & "\" & Ano & "\" & Mes
          End If
         
    'Se não existir a pasta do dia atual dentro da pasta do mês atual, ela é criada.
          If Not FSO.FolderExists(sCaminho & "\" & Ano & "\" & Mes & "\" & Dia) Then
              MkDir sCaminho & "\" & Ano & "\" & Mes & "\" & Dia
         End If
         
    'Cria o caminho que será salvo o arquivo.
       NameFolder = sCaminho & "\" & Ano & "\" & Mes & "\" & Dia
       strArquivo = Format(Me!Ped_OS, "dd-mm-yy") & " - OS" & Me!nProposta & " - " & Me!NomeCliente & ".pdf"
       strLocal = sCaminho & "\" & Ano & "\" & Mes & "\" & Dia & "\"
       DoCmd.OutputTo acOutputReport, "Rel_OrdemServiçoViaCli", acFormatPDF, strLocal + strArquivo, False  'abre o pdf

    End Sub

    Caso alguém precise da solução, basta adaptar.

    Saudações


    Última edição por rogerparana em Qui 29 Jul 2021, 8:31 pm, editado 1 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8439
    Registrado : 05/11/2009

    [Resolvido]Exportar Relatório PDF para pasta criada via VBA Empty Re: [Resolvido]Exportar Relatório PDF para pasta criada via VBA

    Mensagem  Alexandre Neves Qui 29 Jul 2021, 4:35 pm

    Boa tarde, colega

    Marcar "Resolvido" deve ser no botão que se encontra na zona inferior direita do formulário do fórum, caso contrário, não assume como resolvido
    Faça o favor de marcar "Resolvido" correctamente


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    rogerparana gosta desta mensagem


    Conteúdo patrocinado


    [Resolvido]Exportar Relatório PDF para pasta criada via VBA Empty Re: [Resolvido]Exportar Relatório PDF para pasta criada via VBA

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Qui 29 Fev 2024, 2:12 pm