Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Userform Menus
Moderador: Rafael Monteiro
-
- Acabou de chegar
- Mensagens: 1
- Registrado em: Sáb Mai 05, 2012 8:34 am
Re: Userform Menus
Realmente o uso de API's é muito difícil e confuso. Inciei em meu blog, uma postagem de como criar menus em Userforms de maneira simples, fácil e descomplicada e sem o uso de qualquer recurso de API. Em breve estarei concluindo a matéria e estendendo também à criação de submenus.
"marcosoftx.blogspot.com"
"marcosoftx.blogspot.com"
- joseA
- Jedi
- Mensagens: 1048
- Registrado em: Qui Out 22, 2009 7:22 am
- Localização: Cel. Fabriciano - MG
Re: Userform Menus
Seja bem vindo Marcos,
Se tiver o modelo pronto, favor postar.
Parabéns pelo blog.
Abraços.
Se tiver o modelo pronto, favor postar.
Parabéns pelo blog.
Abraços.
Re: Userform Menus
Marco,
Sem crise. Pode publicar o link do blog:
http://marcosoftx.blogspot.com
Leia o título do fórum (lá em cima) e vai entender qual a principal intenção deste.
Sem crise. Pode publicar o link do blog:
http://marcosoftx.blogspot.com
Leia o título do fórum (lá em cima) e vai entender qual a principal intenção deste.
-
- Acabou de chegar
- Mensagens: 1
- Registrado em: Ter Mai 03, 2016 12:49 pm
Re: Userform Menus
Boa tarde, Instalei o Office 2013 64bits e não consigo utilizar o modelo disponibilizado, os códigos API são incompatível com 64bits.
Fiz algumas modificações nos códigos acrescentando PtrSafe nas declarações e alterando Long para LonPtr mais ainda sim não funciona.
O erro está na Inicialização do Form, pois retorno a mensagem de "Tipos Incompatíveis" no SetWindowLongPtr
Me ajudem.
Segue abaixo o código
Private Sub UserForm_Initialize()
g_hForm = FindWindow(vbNullString, Me.Caption)
Call CreateAPIMenu
#If VBA6 Then
g_lpMyWndProc = SetWindowLongPtr(g_hForm, GWL_WNDPROC, AddressOf HookWinProc)
#Else
g_lpMyWndProc = SetWindowLongPtr(g_hForm, GWL_WNDPROC, AddrOf("HookWinProc"))
#End If
End Sub
Fiz algumas modificações nos códigos acrescentando PtrSafe nas declarações e alterando Long para LonPtr mais ainda sim não funciona.
O erro está na Inicialização do Form, pois retorno a mensagem de "Tipos Incompatíveis" no SetWindowLongPtr
Me ajudem.
Segue abaixo o código
Private Sub UserForm_Initialize()
g_hForm = FindWindow(vbNullString, Me.Caption)
Call CreateAPIMenu
#If VBA6 Then
g_lpMyWndProc = SetWindowLongPtr(g_hForm, GWL_WNDPROC, AddressOf HookWinProc)
#Else
g_lpMyWndProc = SetWindowLongPtr(g_hForm, GWL_WNDPROC, AddrOf("HookWinProc"))
#End If
End Sub
- netocasaroli
- Consultor
- Mensagens: 219
- Registrado em: Seg Mai 11, 2015 5:24 pm
- Localização: Londrina-PR
Re: Userform Menus
Existem bibliotecas que simplesmente são incompatíveis com o Office 64bits. A própria Microsoft recomenda o 32, salvo em situações muito específicas...
-
- Acabou de chegar
- Mensagens: 3
- Registrado em: Qui Abr 12, 2018 9:44 pm
Re: Userform Menus
Amigo veja este vídeo acho que vai te ajudar... Fala muito bem sobre o assunto...
API's no Excel VBA
API's no Excel VBA