Lidando com imagens
um quadro na parede, seja imagens em um site ou mesmo em suas
planilhas e formulários.
formulário há um botão chamado Imagem. Clicando nele e
colocando em algum ponto do formulário você irá acrescentar um objeto
de imagem, que inicialmente vai aparecer como um quadrado cinzento sem
nada dentro.
Picture, que irá carregar a imagem. Escolha uma entre os poucos
formatos suportado, as principais extensões são bmp e
wmf.
O formato bmp (BitMap) determina que cada
pixel (ponto) do arquivo assume uma cor e seu tamanho é
pré-determinado (80×80, por exemplo). Se você estender o arquivo, a
qualidade da imagem não acompanhará e você verá a imagem com
serrilhados. Por este motivo, o ideal é que arquivos bmp devem
ser usados no tamanho especificado. Se for uma imagem de 80×80, as
propriedades Height (altura) e Width (largura)
deveriam ser iguais a 80. Deveriam, porque se você fizer isso
verá que o Excel deixará uma borda de 10 pixels ao redor da
figura, por razões que desconheço:
editar a propriedade PictureSizeMode, cujos valores possíveis
são:
Excel importa;
limites do objeto imagem, mesmo que saia da proporção – a imagem
ficará esticada se a proporção não for a mesma;
fmPictureSizeModeZoom: expande a imagem até os limites do objeto imagem, mantendo a
proporção em relação ao arquivo original.
resultado:
estendida. Por outro lado, se definirmos as propriedades
Height e Width para 60, obtemos o seguinte
resultado:
diferentes da imagem do arquivo. O jeito é sempre efetuar testes com
as imagens antes de definir o tamanho da imagem no formulário e o
tamanho das próprias imagens que serão inseridas. Outro detalhe
importante é que fotos em formato jpg devem ser convertidas
em bmp para poder usar no formulário. Há softwares gratuitos
que permitem converter alguns formatos de arquivos de imagens, como
o Paint.Net.
formato vetorial, ou seja, a imagem é um conjunto de pontos, linhas
e polígonos baseados em expressões matemáticas, sendo cada linha ou
polígono equivalente a um vetor (ou caminho, como alguns softwares
de desenho vetorial chamam). Arquivos em imagem vetorial podem ser
estendidos sem perda de qualidade. Os formatos mais conhecidos e
usados são EPS (Encapsulated Post Script, que está
caindo em desuso), AI (Adobe Illustrator),
CDR (CorelDraw) e SVG (Scalable Vector Graphics), sendo somente o último livre de royalties. Um software
gratuito capaz de exportar arquivos WMF é o InkScape.
desenhos, pois podemos aumentar o tamanho sem comprometer a
qualidade da imagem. Outra vantagem é que não aparece o fundo branco
que apareceu nas telas acima. Quem usa bastante o
PowerPoint deve saber disso, devido ao costumeiro uso de
imagens nas apresentações.
fmPictureSizeModeZoom para manter a imagem proporcionalmente
dentro dos limites temos o seguinte resultado:
dos formulários no VBA, que estão limitados a 256 cores. De qualquer
forma, está melhor que a versão bmp estendida. Não dá para
saber o motivo da Microsoft não ter evoluído os formulários do
Office dos tempos do Windows 95 para o formato
Windows Presentation Foundation, muito mais modernos e
visualmente agradáveis, o que é uma pena.
objeto imagem:
fmBackStyleOpaque (fundo opaco, opção padrão) ou
fmBackStyleTransparent (fundo transparente, ideal para
imagens vetoriais);
fmBorderStyleSingle (borda simples, opção padrão) ou
fmBorderStyleNone (sem borda);
fmPictureAlignmentCenter (imagem no centro, opção padrão),
fmPictureAlignmentTopLeft (imagem no topo à esquerda),
fmPictureAlignmentTopRight (imagem no topo à direita),
fmPictureAlignmentBottomLeft (imagem embaixo à esquerda) e
fmPictureAlignmentBottomRight (imagem embaixo à direita);
quando está com valor True, o padrão é False;
fmSpecialEffectFlat (sem efeito, opção padrão),
fmSpecialEffectRaised (“levantado”, como se fosse um botão),
fmSpecialEffectSunken (“afundado”, como um botão
pressionado), fmSpecialEffectEtched (“gravado”, como se
houvesse um vinco ao redor da imagem) e
fmSpecialEffectBump (“inchaço”, tem uma borda grossa). Vale
observar que alterar o valor desta propriedade altera a propriedade
BorderStyle para fmBorderStyleNone, ou seja, sem
borda.
código. Por exemplo, no caso de um cadastro de pessoas, um objeto
imagem pode exibir a foto da pessoa ativa no momento. Para fazer
algo do tipo, é crucial ter alguns fatores em mente:
deformadas ao exibir. Se você especificar que a imagem deve ser
80×100, todas deverão ter essas medidas;
(ou diretório) no mesmo local da planilha e manter as imagens dentro
dessa pasta;
chave (código, ID ou outra forma de identificação única) e devem ter
a mesma extensão. Se você utilizar o nome de uma pessoa como nome do
arquivo certamente terá problemas com homônimos. Exceções podem ser
feitas se você estiver lidando com uma lista que não deve ser
alterada e que não tenha objetos com o mesmo nome.
tem dois valores: Homem e Mulher. Quando um valor for selecionado, a
imagem aparecerá:
& _
frmSexo.cmbSelecionarSexo.Value & “.wmf”
50, 100)
preciso usar uma função chamada LoadPicture, que colocará a
imagem dentro da propriedade Picture. Aqui usei três
argumentos: endereço do arquivo, largura e altura (estes dois últimos
são opcionais). Há um quarto parâmetro chamado flags, que pode
ser um valor da enumeração LoadPictureConstants. Os valores
possíveis são os seguintes: Default, Monochrome,
VgaColor e Color.
fazer para melhorar seus formulários. Você pode alterar uma imagem
dinamicamente conforme as necessidades: fotos de pessoas ou imagens de
produtos ajudam a incrementar o visual.
planilhas temos muito mais opções. É possível usar imagens vetoriais
sem que aconteça o problema de serrilhado como visto anteriormente,
pois temos acesso a mais de 16 milhões de cores. Além disso, é
possível utilizar outros formatos de imagens populares, como
jpg e png. Estes, da mesma forma que o bmp,
perdem qualidade quando ampliados.
planilha em um formulário. Pode começar usando algumas formas do
Office ou figuras encontradas na internet para entender o que é
possível fazer. Fiz um exemplo bem simples aqui para
demonstrar:
linhas e colunas, além da grade, tirando a chamada “aparência de
Excel”. Você pode fazer isso manualmente na planilha, mas seu
usuário pode mexer. Neste caso é bom editar os eventos referentes a
essa planilha. Existem os eventos Activate e
Deactivate que, como o próprio nome indica, são processados
quando entramos ou saímos da planilha, respectivamente.
não exibir os detalhes mencionados acima. Essas propriedades são
definidas no objeto Application, que possui muitas outras
propriedades que podem ser ajustadas conforme suas necessidades.
Vejamos o que podemos fazer:
False
False
Application.ActiveWindow.DisplayHorizontalScrollBar = False
Application.ActiveWindow.DisplayVerticalScrollBar = False
DisplayGridlines exibe ou não as linhas de grade da planilha.
DisplayHeadings é sobre o cabeçalho de linhas e colunas da
planilha. DisplayHorizontalScrollBar e
DisplayVerticalScrollBar se referem às barras de rolagem
horizontal e vertical, respectivamente. Por fim,
DisplayFormulaBar oculta ou exibe a barra de fórmulas. Existem
muitos outros controles que podem ser definidos.
Worksheet_Activate, sempre que o usuário entrar nessa planilha
os valores serão definidos e a planilha estará sempre com essa
aparência. Mesmo que o usuário coloque a grade, por exemplo, ao sair e
retornar à planilha a grade estará oculta de novo.
transformar planilhas em formulários que certamente irão impressionar
os usuários. Certamente ainda há muito sobre imagens a aprender, mas o
que foi visto aqui é um ótimo começo.
comentários abaixo. Até o próximo artigo!
Pedro Martins
Pós-graduando em Business Intelligence e Big Data pela Faculdade
Impacta de Tecnologia. Formado em Tecnologia em Eletrônica Digital com
Ênfase em Microprocessadores