Notifications
Clear all

Macro para Formatar Imagem

5 Posts
2 Usuários
0 Reactions
1,906 Visualizações
 caje
(@caje)
Posts: 97
Estimable Member
Topic starter
 

Bom Dia a Todos do Fórum.

Não sei se é possível aplicar esse tipo de animação porém se alguém tiver alguma sugestão agradeço

O problema é seguinte estou tentando criar um Macro que permita a navegação entre as planilhas. Exemplo tenho 3 figuras cada uma representa uma planilha, se realizar um click na figura que representa a planilha 1 vou para planilha 1 ou se realizar um click na figura que representa a planilha 2 vou para planilha 2 e consequentemente ocorre o mesmo com figura da planilha 3.

Porém gostaria de destacar a figura que representa a planilha que estou visualizando. Exemplo se estou na plan1 gostaria que a imagem que representa a plan1 ficasse em destaque para diferenciar das outras 2 figuras que representa as outras planilhas.

A diferenciação poderia ser uma borda ou aumentar o tamanho da imagem ou qualquer outro recurso permitido destacar a planilha em que estou visualização

Mais uma vez se alguém tiver alguma sugestão ou dica para realização essa animação Agradeço.

Segue a Planilha de Exemplo
em Anexo Compactada

 
Postado : 21/08/2013 7:11 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Já tentou algo desse tipo...?

Sub Teste()
Dim pic As InlineShape
For Each pic In ActiveDocument.InlineShapes
  pic.Borders.OutsideLineStyle = wdLineStyleSingle
  pic.Borders.OutsideLineWidth = wdLineWidth600pt
Next
End Sub
 
Postado : 21/08/2013 8:06 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Caje, uma sugestão sem precisar de macros, uma vez que ao clicar na imagem vai para a planilha especifica e na mesma tem uma cópia das 3 imagens, porque já não deixa a Imagem referente a Plan2 já formatada, ou com tamanho maior, ou as celulas em volta com outra cor, assim não precisara de macro para formatar a imagem.

Mas se por algum outro motivo não mencionado em seu post você precise de macros, segue uma que altera o tamanho da figura, para isto na Plan2 de o nome a figura que representa esta planilha como : "sImgPlan2", depois clique com o botão direito na aba plan2, escolha exibir código e cole as instruções abaixo :

Private Sub Worksheet_Activate()
    Call AumentaImagem
End Sub

Private Sub Worksheet_Deactivate()
    Call DiminuiImagem
End Sub

Sub AumentaImagem()
    
    With Worksheets("Plan2").Shapes("sImgPlan2")
       .ScaleWidth 1.64, msoFalse, msoScaleFromTopLeft
       .ScaleHeight 1.645, msoFalse, msoScaleFromTopLeft
    End With
    
End Sub

Sub DiminuiImagem()

    With Worksheets("Plan2").Shapes("sImgPlan2")
        .ScaleWidth 0.82, msoFalse, msoScaleFromTopLeft
        .ScaleHeight 0.82, msoFalse, msoScaleFromTopLeft
    End With
    
End Sub

Você pode alterar as propriedades do Shape, veja na ajuda do VBA e encontrara outras.

De uma olhada no link abaixo tambem:
Criar macro para aumentar o tamanho da imagem quando clicar
http://info.abril.com.br/forum/viewtopi ... 01&t=14816

[]s

 
Postado : 21/08/2013 10:19 am
 caje
(@caje)
Posts: 97
Estimable Member
Topic starter
 

Boa Tarde Alexandre.

Fico grato pelo retorno.

Mas ainda estou com dificuldades pois não sei manipular figuras. Quando rodo o código ocorre o seguinte erro " Tipo definido pelo usuário não foi definido".

Agradeceria se pudesse esclarecer algumas duvidas como Dim pic As InlineShape devo substituir pelo nome da figura que quero destacar ?

Preciso declarar uma variável para cada figura ?Ex para cada figura Dim pic As InlineShape,Dim pic2 As InlineShape,Dim pic3 As InlineShape

Nesse trecho do código

For Each pic In ActiveDocument.InlineShapes
  pic.Borders.OutsideLineStyle = wdLineStyleSingle
  pic.Borders.OutsideLineWidth = wdLineWidth600pt
Next

Ele irá inserir a borda nas 3 figuras ou apenas na figura que representa a planilha ?

Se puder tirar essas duvidas ajudaria muito .

 
Postado : 21/08/2013 10:30 am
 caje
(@caje)
Posts: 97
Estimable Member
Topic starter
 

Mauro Coutinho.

Excelente sugestão a sua primeira dica fica simples e funcional . Vou estudar a segunda opção para ver como fica animação.

Obrigado Mauro Coutinho.

 
Postado : 21/08/2013 10:40 am