MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido] Imprimir todos os ficheiros JPEG ou PNG de uma pasta

    Compartilhe
    avatar
    brunogor
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 184
    Registrado : 24/02/2013

    [Resolvido] Imprimir todos os ficheiros JPEG ou PNG de uma pasta

    Mensagem  brunogor em 26/5/2018, 00:55

    Olá a todos.
    É possível imprimir num Relatório todas as imagens (.jpeg) existentes numa pasta , sem que as mesmas estejam registadas na tabela?
    Obrigado pela vossa atenção.

    Cumprimentos
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5467
    Registrado : 15/03/2013

    Re: [Resolvido] Imprimir todos os ficheiros JPEG ou PNG de uma pasta

    Mensagem  ahteixeira em 26/5/2018, 13:53

    Ola Bruno,

    Sem estar numa tabela, desconheco.
    Pode ter uma tabela temporaria que cria antes do reporte e adiciona os ficheiros jpeg, ao fechar o relatorio apaga.

    Para alimentar a tabela temporaria, veja topicos abaixo:
    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Abraco

    avatar
    brunogor
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 184
    Registrado : 24/02/2013

    Imprimir todos os ficheiros .jpeg de uma pasta

    Mensagem  brunogor em 26/5/2018, 16:32

    Olá Álvaro,
    Obrigado por dispensar mais uma vez o seu tempo, ainda por cima ao fim de semana.
    Vou estudar os Links e depois dou o retorno.
    Muito Obrigado.

    Cumprimentos e Bom fim de semana.

    Bruno Gordino
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5467
    Registrado : 15/03/2013

    Re: [Resolvido] Imprimir todos os ficheiros JPEG ou PNG de uma pasta

    Mensagem  ahteixeira em 26/5/2018, 21:45

    Olá Bruno, obrigado pelo retorno.

    Veja este aqui na mensagem n. 5
    [Você precisa estar registrado e conectado para ver este link.]

    Será alterar de TXT para JPEG e onde está a importar, altere para consulta adicionar a tabela temporária.

    Abraço
    avatar
    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3461
    Registrado : 04/04/2010

    Re: [Resolvido] Imprimir todos os ficheiros JPEG ou PNG de uma pasta

    Mensagem  Avelino Sampaio em 27/5/2018, 10:52

    Bruno,

    de que quantidade máxima de imagens teria essa pasta ?  

    Fiquei na dúvida se vc quer listar apenas os nomes ou exibir a imagem.

    Alvaro,

    Creio ser possível alimentar diretamente o relatório, com o comando Picture, sem a necessidade de tabela.  Imagino que possamos utilizar um loop, com o Do While, para percorrer a pasta e então ir alimentando aos quadros.

    Sucesso!
    avatar
    brunogor
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 184
    Registrado : 24/02/2013

    Imprimir todos os ficheiros .jpeg de uma pasta

    Mensagem  brunogor em 27/5/2018, 19:09

    Boa tarde Sr. Avelino e muito obrigado pelo seu tempo.
    O que preciso é que todos os ficheiros ".jpg" ou ".png" que estejam na pasta, no máx. 200 imagens, sejam exibidos num relatório.
    Estou a estudar o link [Você precisa estar registrado e conectado para ver este link.] que o Sr. Álvaro me passou, para registar os caminhos numa tabela.
    Optei por registá-los numa tabela temporária para depois aparecerem no Relatório.
    Estou a ir no caminho certo?

    Cumprimentos

    Bruno Gordino
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5467
    Registrado : 15/03/2013

    Re: [Resolvido] Imprimir todos os ficheiros JPEG ou PNG de uma pasta

    Mensagem  ahteixeira em 27/5/2018, 20:50

    Olá a todos,

    Avelino Sampaio, com o loop podemos obter os arquivos.
    Mas para ser sincero, não estou a ver a forma de colocar num relatório.
    Poderia mostrar o caminho das pedras.

    Isto é que é ser MaximoAccess Wink

    Abraço a todos
    avatar
    brunogor
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 184
    Registrado : 24/02/2013

    Re: [Resolvido] Imprimir todos os ficheiros JPEG ou PNG de uma pasta

    Mensagem  brunogor em 29/5/2018, 00:06

    Viva a todos os intervenientes,

    Já tenho o procedimento completo, só um preciosismo.

    No seguinte código cedido pelo Sr. João Paulo [Você precisa estar registrado e conectado para ver este link.]:
    Código:
    Public Function ContaFicheirosExtraiNome(strCaminho As String, strIncluiSubPastas As Boolean)
    'By JPaulo ®️ Maximo Access
    'Requer a seguinte referência VBA ativa:
    'Microsoft Scripting Runtime
    'Para chamar a função, deve colocar no pressionar de um botão: Call ContaFicheirosExtraiNome("C:\SuaPasta\",True)
    Dim FSO As Object, strPasta As Object, strSubPasta As Object, strFicheiro As Object
    Dim strConta As Long, strSQL As String
        
        Set FSO = CreateObject("Scripting.FileSystemObject")
        Set strPasta = FSO.GetFolder(strCaminho)
        'Percorre a drive e extraí o nome das pastas, subPastas e ficheiros
        For Each strFicheiro In strPasta.Files
        
        'Insere na tabela o caminho completo dos ficheiros com as extensões PDF
                If Mid([strFicheiro], InStrRev([strFicheiro], "\") + 1) Like "*.pdf*" Then
                    CurrentDb.Execute "INSERT INTO SuaTabela (SeuCampoNaTabela) SELECT '" & strPasta.Path & "\" & strFicheiro.Name & "'"
            strConta = strConta + 1
            Else
            End If
        Next strFicheiro
        'Se existirem subpastas, insere na tabela o caminho completo dos ficheiros
        If strIncluiSubPastas = True Then
            For Each strSubPasta In strPasta.SubFolders
                ContaFicheirosExtraiNome strSubPasta.Path, True
            Next strSubPasta
        End If
        Set strFicheiro = Nothing
        Set strPasta = Nothing
    End Function

    Onde coloco o contador total de caminhos?
    Código:
    ContaFicheiros = strPasta.Files.Count
    MsgBox "Encontrados " & ContaFicheiros & " ficheiros." & vbNewLine & " na pasta " & strCaminho, vbInformation

    Experimentei assim e surge-me sempre a msgbox 2 vezes caso existam subpastas c/ ficheiros:
    Código:
    MsgBox "Encontrados " & strConta & " ficheiros." & vbNewLine & " na pasta " & strCaminho, vbInformation


    Cumprimentos

    Bruno Gordino
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5467
    Registrado : 15/03/2013

    Re: [Resolvido] Imprimir todos os ficheiros JPEG ou PNG de uma pasta

    Mensagem  ahteixeira em 1/6/2018, 13:02

    Olá Bruno,

    Fiz uns ajustes ao código, pois chamava a mesma função e limpava o contador, veja como fica:

    Código:
    Public Function ContaFicheirosExtraiNome(strCaminho As String, strIncluiSubPastas As Boolean, Optional lngConta As Long = 0)
    'By JPaulo ®️ Maximo Access
    'Requer a seguinte referência VBA ativa:
    'Microsoft Scripting Runtime
    'Para chamar a função, deve colocar no pressionar de um botão: Call ContaFicheirosExtraiNome("C:\SuaPasta\",True)
    '01-06-2018 Ajuste para contador incluir nas sub pastas - ahteixeira (2018)
    Dim fso As Object, strPasta As Object, strSubPasta As Object, strFicheiro As Object
    Dim strSQL As String
        
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set strPasta = fso.GetFolder(strCaminho)
        'Percorre a drive e extraí o nome das pastas, subPastas e ficheiros
        For Each strFicheiro In strPasta.Files
        
        'Insere na tabela o caminho completo dos ficheiros com as extensões jpeg e png
            If Mid([strFicheiro], InStrRev([strFicheiro], "\") + 1) Like "*.jpeg*" Or _
               Mid([strFicheiro], InStrRev([strFicheiro], "\") + 1) Like "*.png*" Then
                    CurrentDb.Execute "INSERT INTO SuaTabela (SeuCampoNaTabela) SELECT '" & strPasta.Path & "\" & strFicheiro.Name & "'"
                    lngConta = lngConta + 1
            Else
            End If
        Next strFicheiro
        
        'Se existirem subpastas, insere na tabela o caminho completo dos ficheiros
        If strIncluiSubPastas = True Then
            For Each strSubPasta In strPasta.SubFolders
                ContaFicheirosExtraiNome strSubPasta.Path, True, lngConta
            Next strSubPasta
        End If
        
        ContaFicheirosExtraiNome = lngConta
        
        Set strFicheiro = Nothing
        Set strPasta = Nothing
    End Function

    Também ajustei para processar apenas ficheiros do tipo JPEG e PNG.

    Abraço
    avatar
    brunogor
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 184
    Registrado : 24/02/2013

    Imprimir todos os ficheiros JPEG ou PNG de uma pasta

    Mensagem  brunogor em 2/6/2018, 20:56

    Boa tarde Sr. Álvaro

    É isto, é isto mesmo!
    Andava a tentar e até já tinha lançado uma Variável Global para somar as contagens, mas tudo uma grande "trapalhada" comparado c/ a sua solução.

    Nunca iria chegar ao:
    Código:
    ..., Optional lngConta As Long = 0)

    Não me querendo repetir, mas já estando a fazê-lo, o meu muito obrigado mais uma vez Sr. Álvaro ... já sei, desculpe o "Sr."
    Até uma próxima.

    Cumprimentos e Bom Fim de Semana

    Bruno Gordino
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5467
    Registrado : 15/03/2013

    Re: [Resolvido] Imprimir todos os ficheiros JPEG ou PNG de uma pasta

    Mensagem  ahteixeira em 3/6/2018, 01:00

    Olá Bruno, fico feliz por ter ajudado.

    Obrigado pelo retorno, o fórum agradece.

    Apesar de resolvido, ficamos aguardar se o colega Avelino Sampaio, pode dar alguma dica de como fazer sem recorrer à tabela temporária.

    Com o MaximoAccess é sempre aprender.

    cheers

      Data/hora atual: 20/9/2018, 14:25