VBA (Excel) - Usando a Câmera : Criando uma Imagem no Excel
Neste artigo vou mostrar como podemos usar a ferramenta Câmera do Excel para criar imagens do Excel e também mostrar como podemos automatizar esta tarefa usando a linguagem VBA |
Sabia que você pode usar o Excel gerar imagens instantâneas de suas planilhas ?
Sim você
pode.
Além disso você pode aliar esse recurso ao poder do VBA e alcançar feitos
impressionantes. Vamos então aprender a usar a ferramenta Câmera do Excel.
Para isso vamos realizar as seguintes tarefas:
Antes de ir para parte prática algumas considerações que você deve atentar se estiver iniciando agora com o Excel e com o VBA. Se já estiver familiarizado com esses conceitos vá direto para a parte prática.
Instruções aos novatos (só para que esta começando agora)
O
Visual Basic for Applications (VBA) é uma
implementação do Visual Basic da Microsoft incorporada em todos os programas
do Microsoft Office, bem como em outras aplicações da Microsoft, como o
Visio, e que foi também incorporada pelo menos parcialmente em outros
programas de terceiros como o AutoCAD, Mathcad e WordPerfect. Ele substitui
e estende as capacidades de anteriormente existentes linguagens de
programação de macros específicas para as aplicações e pode ser usado para
controlar a quase totalidade dos aspectos da aplicação anfitriã, incluindo a
manipulação de aspectos do interface do usuário tais como menus e barra das
ferramentas e o trabalho com formulários desenhados pelo usuário ou com
caixas de diálogo. http://pt.wikipedia.org/wiki/Visual_Basic_for_Applications |
Eu estou usando o Microsoft Office Excel 2007, o Microsoft Office Outlook 2007 e o sistema operacional Windows 10, e, portanto, o código deste artigo foi testado somente nestas versões e ambiente.
Antes de prosseguir eu sugiro que você leia os seguintes artigos da seção VBA do site Macoratti .net
Os recursos usados no projeto deste artigo foram:
Antes de iniciar temos que realizar duas configurações no Microsoft Excel 2007:
Ativar a guia do desenvolvedor;
Habilitar a execução de macros;
Obs: A necessidade de habilitar a execução de macros é que por padrão, o Excel coloca um nível de segurança mais elevado pois, códigos maliciosos podem ser executados em scripts através de macros no Excel.
Vamos ativar a guia do desenvolvedor e logo em seguida habilitar a execução de macros.
Para ativar a guia do desenvolvedor (se ainda não estiver ativa) siga os seguintes passos:
Abra o Excel 2007 e ative o Menu principal de opções clicando no botão superior a esquerda, conforme a figura abaixo;
A seguir clique na guia Opções do Excel para abrir a janela - Opções do Excel;
Nesta janela, selecione o item - Mais Usados - e a seguir marque o item - Mostrar guia Desenvolvedor na Faixa de Opções e clique no botão OK;
No menu do Excel selecione a guia do Desenvolvedor e em seguida clique em Segurança de Macro;
Na janela Central de Confiabilidade selecione a opção - Configurações de Macro - e marque o item para habilitar todas as macros conforme a figura abaixo:
Pronto , feito isso já podemos iniciar o desenvolvimento da aplicação VBA no Excel 2007.
Incluindo o ícone da ferramenta Câmera na barra de ferramentas de acesso rápido do Excel
Abra então o Excel 2007, será aberta uma planilha em branco. Clique no botão no canto superior a esquerda para abrir o menu principal de opções;
Selecione a opção Salvar como e clique no item : Pasta de Trabalho Habilitada para Macro do Excel;
Em seguida informe o nome do arquivo : VBA_UsandoCamera
Será aberta o arquivo Excel exibindo as três planilhas padrão: Plan1, Plan2 e Plan3;
1 - Clique na seta para exibir o menu - Personalizar Barra de Ferramentas de Acesso Rápido - e a seguir clique em : Mais Comandos...
2 - Na janela Opções do Excel abra as opções: Escolher comandos em : da caixa de combinação e selecione a opção Comandos Fora da Faixa de Opções...
3- Procure pelo opção Câmera e a selecione. Depois clique no botão Adicionar. Você verá o ícone ser visto na caixa de listagem da direita. Clique no botão OK.
4- Pronto ! Você verá o ícone da Câmera no barra de ferramentas de de acesso rápido:
Agora é só usar o recurso...
Como exemplo temos a seguir uma planilha básica e simples. Selecione o intervalo de células que deseja gerar a imagem e clique no ícone da Câmera:
Depois arraste a seleção e a imagem será exibida, onde você pode copiar, colar, recortar, etc. fazer o que quiser com a imagem.
Usando a Câmera no VBA
Agora vamos automatizar a tarefa de gerar a imagem usando o VBA.
Vamos supor que desejamos tirar 'uma foto' da planilha acima, no intervalo B1 a G6.
Inclua um botão de comando na planilha criada.
Clique na guia do Desenvolvedor e a seguir clique em Inserir e selecione o controle Botão :
Após selecionar o Botão coloque-o na planilha Excel. Fazendo isso de imediato será aberta a janela atribuir macro;
Informe o nome da macro. No exemplo eu usei o nome GerarImagem.
Clique no botão Novo:
O Editor Visual Basic será aberto com um novo módulo criado e a macro pronta para receber o código.
Sub GerarImagem()
Dim intervalo As Range
'define o intervalo
Set intervalo = Range("B1:G6")
'Copia a Imagem do intervalo selecionado
intervalo.CopyPicture Appearance:=xlScreen, Format:=xlPicture
'Cola a imagem a partir da célula indicada
Range("B8").PasteSpecial
Application.CutCopyMode = False
End Sub
|
Temos aqui o código da macro GerarImagem que gera a imagem para o intervalo B1:G6 e cola a imagem a partir da célula B8.
Retorne ao Microsoft Excel e a seguir selecione o botão e altere o nome de Botão 1 para Gerar Imagem:
Pronto ! agora podemos abrir a planilha Excel e clicar no botão Gerar Imagem para obter a imagem:
Pegue a planilha com o código VBA aqui: VBA_UsandoCamera.zip
(Disse Jesus)Este
povo se aproxima de mim com a sua boca e me honra com os seus lábios, mas o seu
coração está longe de mim.
Mas, em vão me adoram, ensinando doutrinas que são preceitos dos homens.
Mateus 15:8,9
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Visão geral do modelo de objeto Excel: http://msdn.microsoft.com/pt-br/library/wss56bz7.aspx