Inquiridor
Descarregar Imagem (Forms.Image.1) excel VBA

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
Todas as Respostas
-
-
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)) ThenMe.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 RegistroEnd If
End WithEnd Sub
Abraço Natan.
- Editado Valderei Antunes sábado, 6 de dezembro de 2014 22:53
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 20 de dezembro de 2014 11:13
- Não Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 20 de dezembro de 2014 11:13
-
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