Páginas

terça-feira, 8 de maio de 2012


Menus em Userforms sem o uso de API’s
Parte 3 - Final


Para os demais Subprocedimentos, apenas comentarei os trechos, por serem instruções mais comuns. Portanto, desenvolva as demais rotinas conforme abaixo. No final, este projeto estará concluído.






Salve seu projeto. Agora pressione F5.

      Projeto um pouco adiantado, com toolbar e statusBar

Com a sua imaginação, e com o que você aprendeu nesta postagem, vários outros menus poderão ser adicionados, apenas definindo o intervalo na Plan1 e codificando alguns eventos dos Menus.

Por enquanto, me desculpem pela demora.
Agradeço se comentarem, divulgarem, indicarem, enfim, me ajudarem à manter este Blog. É minha 1ª postagem e prometo a partir deste, dar seqüência noutras postagens, ensinando como usar estes botões personalizados e, mais adiante, conexões com base de dados Access, retornando e inserindo dados.

Até a próxima!

18 comentários:

  1. Marcos,

    Não teria o modelo pronto para download?

    ResponderExcluir
  2. Uma sugestão não coloque os códigos em imagens.

    ResponderExcluir
  3. Jose Arnaldo, coloquei os códigos em imagens com o propósito de incentivar a pessoa à escrever ao invés de usar CTRL+C e CTRL-V. Desta forma, há melhor entendimento do que os trechos dos códigos realmente fazem.

    ResponderExcluir
  4. Olá Marcos,

    Sua intenção é louvável. Vale uma dica copiei a imagem no Word, para facilitar a digitação.
    Tentei reproduzir aqui, mas não rolou.Erro: Não definido pelo usuário - Sub PosicaoMenu(Posicao As Intenger, Intervalo As String). Outra coisa é que há eventos "MouseMove" repetidos. Somos vizinhos heim.

    ResponderExcluir
  5. Você deve ter confundido MouseMove com MouseDown. Na segunda parte há mesmo dois blocos. O 2º já contém as instruções do 1º.
    Mora também em minha cidade?

    ResponderExcluir
    Respostas
    1. Pode ser que tenha confundido mesmo, quando fiz estava com pressa. Irei refazer passo a ásso com calma. E quanto ao Erro: Tipo não definido pelo usuário - Sub PosicaoMenu(Posicao As Intenger, Intervalo As String).
      Moro em Coronel Fabriciano.

      Excluir
  6. Marcos, estava confundindo MouseMove e MouseDown mesmo. Agora o problema do Erro não consegui resolver, fiz e refiz tudo mais não rodou. Veja nesse Link:
    http://www.4shared.com/zip/Ozc9UtLM/MenuSemAPIs.html

    ResponderExcluir
  7. Havia um erro de digitação no tipo "Integer" em dois procedimentos. você digitou "Intenger".

    ResponderExcluir
    Respostas
    1. Essa foi doído (kkk). Junte pressa com ânsia, dá isso.

      Excluir
  8. Na 1ª parte, errei ao informar que os dois label's(menuDiversos e menuArquivo), deveriam conter o valor 1 em suas propriedades TAG. Na verdade, cada um deve ser enumerado com um número próprio. Então, o menuArquivo.TAG=1, o menuDiversos.TAG=2 e assim por diante.

    Abraços.

    ResponderExcluir
  9. Agora rolou blz. Dois detalhes: 01 - No Menu, em Relatórios e Diversos quando vc clica no sub-menu e sai ele mantem-se visivel; 02 - O Menu só funciona com a Plan1 ativa, o ideal seria ocultá-la.

    ResponderExcluir
  10. É só criar o evento igual à do Menu: SubMenu_MouseDown():

    Private Sub subMenu_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Menu.Visible = False
    SubMenu.Visible = False
    Select Case SubMenu.Column(1, SubMenu.ListIndex) ' verifica a Acao
    Case Is = "6.1"
    MsgBox "Ação Geral"
    Case Is = "6.2"
    MsgBox "Ação Financeiro"
    'Otros Cases
    '...
    End Select
    End Sub

    ResponderExcluir
  11. - O Menu só funciona com a Plan1 ativa, o ideal seria ocultá-la?
    Corrige-se isso, passando o intervalo assim:
    "Plan1!A8:E20" ou "Plan1!A2:E5", ou seja, informar também o nome da planilha. Há outros lances interessantes que explicarei noutra ocasião, como ocultar totalmente o Excel deixando só o formulário em exibição. Ok?

    ResponderExcluir
  12. Na 1ª obs. que fiz foi só acrescentar no evento "UserForm_Click" a linha SubMenu.Visible = False. Mas realmente seria importante a implementação desse evento que vc passou. Quanto à 2ª obs. com a sua sugestão rolou legal.

    Agora sim. O menu sem API's está funcionando redondo. A luta será acrescentar + opções.

    Tinha puplicado uma opção com TreeView: http://www.tomasvasquez.com.br/forum/viewtopic.php?f=23&t=1801

    ResponderExcluir
  13. Este comentário foi removido pelo autor.

    ResponderExcluir
    Respostas
    1. Segue Comentário Corrigido: Legal Marcos, vc conhece muito. Aguardo ansioso suas novas puplicações, principalmente referente à Excel + Access. Parabéns e obrigado por compartilhar.

      Excluir
  14. Olá Marcos,

    Posso publicar seu aplicativo, já moldado "Menu sem API's no Tomás Vasquez Fórum?

    ResponderExcluir