none
Descarregar Imagem (Forms.Image.1) excel VBA RRS feed

  • Pergunta

  • Olá.

    Gostaria de pedir um auxilio de vocês.

    Crie uma planilha onde usamos no dia a dia da empresa para geração de relatório de não conformidade, nela há alguns campos para imagem (form vba) as quais após preenchimento do sistema são colocadas em outra planilha em formato de relatório, que serve para envio à fábrica.

    O problema é que não consigo efetuar o despejo destas imagens, ficando muitas vezes o sistema com mais de 50 megas, o truque que uso é gerar um relatório sem imagens e salvar.

    Será que tens como me darem um auxilio???

    Uso esta rotina para limpar as imagens dos form, mas mesmo assim o Excel parece continuar carregado, o truque que uso é gerar um relatório sem imagens e salvar a planilha, desta forma ela volta a ficar com o tamanho normal de 1 mega.

    Sub macro1(control As IRibbonControl)
    'Exibe página inicial
    Sheet1.Activate

     'Instrução para limpar as Imagens no controle Image na Aba conforme o endereço
            'e nos Label do formulário
                With Relatorio
                    .Image1.Picture = Nothing
                    '.Image1.PictureSizeMode = fmPictureSizeModeStretch
                    
                        .Image2.Picture = Nothing
                        '.Image2.PictureSizeMode = fmPictureSizeModeStretch

                            .Image3.Picture = Nothing
                            '.Image3.PictureSizeMode = fmPictureSizeModeStretch

                                .Image4.Picture = Nothing
                                '.Image4.PictureSizeMode = fmPictureSizeModeStretch
                                
                                    .Image5.Picture = Nothing
                                    '.Image5.PictureSizeMode = fmPictureSizeModeStretch
                                    
                End With
    End Sub

    sábado, 6 de dezembro de 2014 02:27

Todas as Respostas

  • Valderei,

    Põe o método que carrega as imagens.


    Natan

    sábado, 6 de dezembro de 2014 11:10
  • Olá Natan.

    Segue instrução usada para selecionar a imagem, para avisar caso o caminho tenha sido perdido e por último para carregar a imagem quando selecionado o item.

           

    'Instrução para Carregar e Selecionar a imagem do primeiro quadro
    Private Sub cboSeleciona_Click()
    Dim arqAAbrir
    If cboAnalista = "" Then
    MsgBox "Nome do Analista vazio.", 64, "R.N.C.I"
    Exit Sub
    End If
        arqAAbrir = Application.GetOpenFilename("Arquivos de imagens (*.jpg;*.bmp;*.wmf), *.txt,*.bmp,*.wmf")
        If arqAAbrir <> False Then
            txtEnderecoImagem.Text = LCase(arqAAbrir)
            Image_Cliente.Picture = LoadPicture(txtEnderecoImagem.Text)
            Image_Cliente.PictureSizeMode = fmPictureSizeModeStretch
        End If
    End Sub
    '==================================================================================================================================

    'Código caso imagem tenha seu caminho perdido
    Private Sub txtEnderecoImagem_Change()
            On Error GoTo ErrorHandler
            Image_Cliente.Picture = LoadPicture(txtEnderecoImagem)
            Image_Cliente.PictureSizeMode = fmPictureSizeModeStretch

    ErrorHandler:
            If Err.Number = 71 Then MsgBox ("Acerte Diretórios e Arquivos de Fotos")
            Err.Clear
            Resume Next
    End Sub
    '==================================================================================================================================

    'Instrução que carrega os registros no formulário quando aberto.

    Private Sub CarregaRegistro()
        With Sh1
            If Not IsEmpty(.Cells(indiceRegistro, colCodigo)) Then

         

    Me.txtEnderecoImagem.Text = .Cells(indiceRegistro, colImagem).Value '------> Imagem do Registro
                Me.txtEnderecoImagem2.Text = .Cells(indiceRegistro, colImagem2).Value '---> Imagem do Registro
                Me.txtEnderecoImagem3.Text = .Cells(indiceRegistro, colImagem3).Value '---> Imagem do Registro
                Me.txtEnderecoImagem4.Text = .Cells(indiceRegistro, colImagem4).Value '---> Imagem do Registro
                Me.txtEnderecoImagem5.Text = .Cells(indiceRegistro, colImagem5).Value '---> Imagem do Registro

            End If
        End With

    End Sub

    Abraço Natan.


    sábado, 6 de dezembro de 2014 22:52
  • Olá, bom dia!!

    Socorro!

    Estou montando um cadastro de vendas para minha empresa, queria por até três fotos em cada cadastro.

    Já tentei... tentei de várias formas, mas sou bem leiga em vba ainda e nada de resultado bom.

    Podem me ajudar?

    Atc,

    Kamila

    quinta-feira, 20 de agosto de 2015 12:46