Notifications
Clear all

Inserir figuras geométricas no Formulário

8 Posts
1 Usuários
0 Reactions
1,876 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá Pessoal,

Meu questionamento aqui não é urgente, e nem se trata de algo que necessito.

Porém, vendo um tópico no fórum comecei a imaginar sobre construir figuras geométricas dentro do próprio Excel. Imaginei que não tivesse como, mas como aprendi com vários colegas de fórum a não duvidar das possibilidades do VBA sai pesquisando.... algumas coisas eu encontrei, até mesmo um objeto que permite criar uma tela parecida com a do PAINT e que permite criar várias formas. Porém, inquieto que sou quis ir além. E agora tô querendo vincular o Text Box com uma figura. Exemplo, se eu selecionar num Combobox ou qualquer outro objeto "reta", aparecesse a figura de uma reta, se selecionar curva a figura de uma curva e assim por diante....

Sei lá, posso estar viajando demais.... mas vamos encontrado cada solução impossível no VBA que não custa perguntar, talvez alguém saiba e quem sabe futuramente alguém possa até precisar...

Abraço

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/04/2012 12:07 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!

Guima, não baixei seu anexo...seria algo do tipo.
Achei na net, talvez te ajude.

Private Sub Workbook_Open()
    Call hideshape
End Sub


Private Sub ComboBox1_Change()
    If ComboBox1.Value = "Parrallelogram" Then
        Call hideshape
        ActiveSheet.Shapes("AutoShape 1").Visible = True
    ElseIf ComboBox1.Value = "Trapezoid" Then
        Call hideshape
        ActiveSheet.Shapes("AutoShape 2").Visible = True
    ElseIf ComboBox1.Value = "Rectangle" Then
        Call hideshape
        ActiveSheet.Shapes("Rectangle 3").Visible = True
    End If

End Sub

Sub hideshape()

    Dim shp As Shape

    For Each shp In Sheets("sheet1").Shapes
        'Parallelogram
        If shp.Name = "AutoShape 1" Then
            shp.Visible = msoFalse
        'Trapezoid
        ElseIf shp.Name = "AutoShape 2" Then
            shp.Visible = msoFalse
        'Rectangle
        ElseIf shp.Name = "Rectangle 3" Then
            shp.Visible = msoFalse
        End If
    Next shp

End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/04/2012 1:45 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Guima, não consegui utilizar seu exemplo, pesquisei na net sobre este controle "InkPicture1", mas não encontrei algo que pudesse inicar o mesmo.

Precisa habilitar alguma referencia expecifica ?

Alguns links que encontrei :
Criando Criador De Desenho Virtual Com Excel VB(VBA) -Tambem não funcionou
http://www.webcheats.com.br/forum/delph ... b-vba.html

Este é em VB, mas é muita coisa para entender e converter para VBA:
Desenhando gráficos e funções
http://www.macoratti.net/vb_gmath.htm

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/04/2012 6:23 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá senhores,

Obrigado pelas respostas.

Ainda estou aprendendo a trabalhar neste controle também.

Mauro,

O InkPicture precisa ter a referência Microsoft Tablet PC Library, version 1.0 habilitada.

O primeiro link que você enviou é bacana, mas o rapaz estacionou onde eu também resolvi pedir ajuda. Já o macoratti requer mais análise até para postar algum comentário.

Alexandre,

Seu exemplo me interessou bastante, mas infelizmente não consegui reproduzir ele ainda, se puder passar a referência de onde encontrou ficaria grato.

Abraços

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/04/2012 9:45 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia!!

Guima, veja o modelo em anexo, talvez deva te interessar.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 08/04/2012 8:10 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Guima, esta referencia já estava Habilitada, e não funcionou, você tem a fonte, para eu dar uma olhada ?
O modelo que postou, funciona ou quer saber como fazer funcionar ?

De uma olhada no modelo que adicionei em Bibliotecas, é bem interessante, principalmente a aba com a animação feito com linhas e shapes.
Programming Excel 2007 and Excel 2010 AutoShapes with VBA
viewtopic.php?f=21&t=4017

Tambem tem este outro site, maspelo que vi é um soft para se trabalhar com excel:
http://www.breezetree.com/flowcharting- ... nshots.htm

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 08/04/2012 2:46 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Alexandre,

Muito Legal o exemplo, achei um ótimo objeto de estudo. Valeu !

Mauro,

Não existe fonte... Comecei a fuçar, descobri o controle e fui testando até encontrar algumas funções utéis.... foi 100% transpiração mesmo.

O exemplo que coloquei no meu PC funcionou plenamente. Meu intuito seria conseguir evoluir o exemplo, colocando retas horizontais, verticais, curvas, etc. algo próximo do exemplo que Alexandre postou e também do exemplo que do tópico que você postou. Porém no userform e conforme condições de um objeto TEXT ou Combo.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 08/04/2012 6:32 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Guima, ainda não consegui fazer funcionar, pelo que entendi a tela é para se desenhar, é isto ?

Quanto as formas serem exebidas no Formulário de acordo com a seleção no textbox, seria o caso de adaptar a rotina que o Alexandre postou, jogando a forma para a aba e depois capturanddo-a de volta a um objeto Image no form, tipo do que fazemos com as figuras, ou até as rotinas do outro exemplo que postei, mas ainda acho que devemos salvar o shape como figura e depois carrega-la.

Não sei se é bem isto que pretende, mas é uma sugestão.

Como é só para conhecimento, vou olhar este assunto quando sobrar mais tempo.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 08/04/2012 8:41 pm