[MODELO] Classe API Function

Planilhas, Arquivos, modelos, exemplos, apostilas, nosso datacenter!

[MODELO] Classe API Function

Mensagempor Mikel Silveira Fraga » Ter Jun 12, 2018 8:21 am

Bom dia todos os amigos do fórum.

Segue vídeo publicado, onde compartilho uma classe desenvolvida, a partir de chamadas de API´s do Windows, que permitem aos usuários personalizar seus Userforms, através de Propriedades e Métodos.

No vídeo, demonstro onde realizar o download da classe, mostro um pouco da documentação da mesma e como a utilizar para personalizar seus projetos.

Vídeo Youtube Classe Api Function

Espero que seja de utilidade para o estudo de todos.

Abraços e excelente semana.
Esclareceu suas dúvidas? Acrescente ao título do tópico a expressão: [RESOLVIDO].
Mikel Silveira Fraga
E-mail: mikel-sf@hotmail.com
Skype: mikelsf
Imagem

For this post the author Mikel Silveira Fraga thanked: 2
edcronos2 (Sex Jul 13, 2018 5:03 am) • JSCOPA (Dom Jul 15, 2018 12:09 am)
Mikel Silveira Fraga
Membro
Membro
 
Mensagens: 49
Registrado em: Qui Ago 02, 2012 10:16 pm
Has thanked: 24 times
Have thanks: 16 times

{ SO_SELECT }

Re: [MODELO] Classe API Function

Mensagempor wagner » Ter Jun 12, 2018 8:19 pm

Mikel,

Boa noite!

Cara, sua solução de utilização das API's para trabalhar com os Userforms é simplesmente fantástica! Meus sinceros parabéns pelo desenvolvimento e também pela disponibilização. Pode ter certeza que já copiei tudo e guardei com muito cuidado.

Sou um eterno apaixonado pelo VBA. Isso vem desde a época do Basic para DOS. Modéstia a parte, até possuo um bom conhecimento de VB, VBA e outras linguagens. Todavia, o meu grande calo sempre foi saber como usar as API's do Windows e também usar adequadamente os módulos de Classe.

Esses dois assuntos não se encontra facilmente em livros (mesmo em Inglês eles são difíceis). Na verdade, eu gostaria muito de poder fazer um curso avançado em que o assunto fosse especificamente somente esses dois (Módulos de Classe e Uso das API's). Mas, os cursos que se encontra em todos os lugares, inclusive em empresas grandes de São Paulo, são cursos tipo feijão com arroz.

Assim, se você tiver mais algumas coisas desenvolvidas nesse sentido (API's) que queira compartilhar, fico muito grato. Tenho ajudado, dentro da medida do possível, muitos usuários deste fórum e isso me faz aprender cada vez mais. Todavia, às vezes o pessoal pede umas coisas mirabolantes que creio que somente com o uso de uma API apropriada poderia ser desenvolvido o que o usuário pede. Por exemplo: outro dia um usuário pediu que queria que uma macro fosse executada quando ele desse um duplo clique na célula e que executasse outra coisa quando saísse da edição da célula. Ora você sabe que a edição de célula não tem eventos relacionados a ela (tipo ActiveCell_Click()). Desse modo, não encontrei meio de disparar execução dessa forma. Fiquei achando que com API talvez seja possível. E por aí vai... isso aí é só um exemplo das coisas malucas que já pediram aqui.
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 4125
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 69 times
Have thanks: 1790 times

Re: [MODELO] Classe API Function

Mensagempor wagner » Ter Jun 12, 2018 8:50 pm

Mikel,

Aproveitando da sua boa vontade, fiz um pequeno modelo aqui, tentando reproduzir o que você fez lá no vídeo do YouTube mas deu diversos tipos de erros no módulo de classe. Um dos erros foi esse da tela abaixo. Pode me auxiliar?

Segue arquivo com o modelo.
Você não está autorizado a ver ou baixar esse anexo.
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 4125
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 69 times
Have thanks: 1790 times

Re: [MODELO] Classe API Function

Mensagempor Mikel Silveira Fraga » Qui Jun 14, 2018 1:04 am

Wagner, boa noite.

Antes de mais nada, obrigado pelas palavras. Esse foi um trabalho um pouco diferente do que já havia feito anteriormente, mas que abriu uma gama de oportunidades muito grande, devido o aprendizado gerado.

Peço desculpas por não ter visto sua mensagem antes. De ontem pra hoje, estou muito enrolado no serviço com testes de automação com modelo de industria 4.0 e implantação de um sistema de BI, baseado no Qlik Sense. Simplesmente, ficou uma loucura.

Sobre o erro, você fez a extração da forma como mencionei no vídeo (Importar Módulo) ou copiou o script do GitHub e colou em um módulo de classe?

Analisando a imagem que enviou, remova as 6 primeiras linhas de código, pois essas são identificações internas da classe, geradas no código quando importo para a extensão Cls. Com isso, deve funcionar.

Caso não funcione, entre em contato pelo skype da minha assinatura, que é a forma mais fácil de conversarmos. Ai posso dar um suporte.

Sobre cursos e aprendizados de API´s e Classes, realmente é muito difícil, tirando que os exemplos são sempre básicos: Prédio e Moradores, Contas Bancárias e Movimentações, Animais e tipos, Carros e tipos, etc. Estudei muito os conceitos em VBA, VB6, Java, PHP, JS e por ai vai, pra tentar entender os conceitos de classe, mas somente depois que comecei a criar uma classe, baseada no Microsoft Xml (o qual já trabalhava a mais de 3 anos), foi quando compreendi o conceito. A aplicação em um caso real e, sinceramente, foi quebrando a cabeça mesmo.

Sobre outros materiais, tenho mais duas classes prontas que vou gravar vídeos, mas vou intercalar os assuntos com outros temas. Além dessas duas prontas, tenho uma terceira escrita parcialmente, já em produção e uma quarta em planejamento. Basicamente, todas essas classes, são baseadas nos seguintes recursos:
- Progress Bar Customizada;
- Mascarás de Formatação;
- Interação com arquivos Text;
- Criação do recurso Intelligence, para uma Connection String do Ado/Dao.

Vou ficando por aqui e, mais uma vez, obrigado pelas palavras e reconhecimento.
Esclareceu suas dúvidas? Acrescente ao título do tópico a expressão: [RESOLVIDO].
Mikel Silveira Fraga
E-mail: mikel-sf@hotmail.com
Skype: mikelsf
Imagem
Mikel Silveira Fraga
Membro
Membro
 
Mensagens: 49
Registrado em: Qui Ago 02, 2012 10:16 pm
Has thanked: 24 times
Have thanks: 16 times

Re: [MODELO] Classe API Function

Mensagempor wagner » Qui Jun 14, 2018 11:43 am

Mikel,

Bom dia!

Eu entrei lá no GitHub e baixei, pelo botão Download conforme sua recomendação no vídeo, o seu módulo de classe. Depois que descompactei, somente inseri no meu projeto, da mesma forma que você fez no vídeo (através de importação) o módulo de classe.

Após eliminar as 6 linhas iniciais recomendadas por você, agora o código está parando no evento Initialize do meu userform informando "Erro de Compilação - Um módulo não é um tipo válido" (tela de erro na imagem abaixo).

Segue também meu arquivo para você dar uma olhada, por gentileza.

Trabalho com o Excel 2007 de 32 bit em um S.O de 64 bits.
Você não está autorizado a ver ou baixar esse anexo.
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 4125
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 69 times
Have thanks: 1790 times

Re: [MODELO] Classe API Function

Mensagempor Mikel Silveira Fraga » Qui Jun 14, 2018 2:07 pm

Wagner, boa tarde.

Não sei dizer o que houve, mas em sua tela, o código esta em um Módulo comum, e não um Módulo de Classe.

Apaguei as informações e tentei fazer igual ao vídeo, e não tive problemas. Veja se vai funcionar corretamente agora.
Uso da APIFunction - Formatações de Formulários.zip

Quaisquer dúvidas, estamos a disposição.
Você não está autorizado a ver ou baixar esse anexo.
Esclareceu suas dúvidas? Acrescente ao título do tópico a expressão: [RESOLVIDO].
Mikel Silveira Fraga
E-mail: mikel-sf@hotmail.com
Skype: mikelsf
Imagem
Mikel Silveira Fraga
Membro
Membro
 
Mensagens: 49
Registrado em: Qui Ago 02, 2012 10:16 pm
Has thanked: 24 times
Have thanks: 16 times

Re: [MODELO] Classe API Function

Mensagempor wagner » Qui Jun 14, 2018 3:35 pm

Obrigado Mikel. Deu certo.
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel

For this post the author wagner thanked:
Mikel Silveira Fraga (Qui Jun 14, 2018 4:23 pm)
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 4125
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 69 times
Have thanks: 1790 times

Re: [MODELO] Classe API Function

Mensagempor Mikel Silveira Fraga » Sáb Jun 16, 2018 9:01 am

Bom dia Wagner e a todos.

Conforme feedback de alguns erros detectados no processo de importação da classe, para uma nova Workbook no Excel, iniciei uma pesquisa e detectei um erro de Configuração do Git.

Agora o arquivo que esta disponível no GitHub já esta funcionando nos testes que realizei.

Fica aqui meu agradecimento a todos que reportaram, mas reforço a continuidade dos testes e, na detecção de novos erros, darem novos feedback´s.

Obrigado a todos.
Esclareceu suas dúvidas? Acrescente ao título do tópico a expressão: [RESOLVIDO].
Mikel Silveira Fraga
E-mail: mikel-sf@hotmail.com
Skype: mikelsf
Imagem
Mikel Silveira Fraga
Membro
Membro
 
Mensagens: 49
Registrado em: Qui Ago 02, 2012 10:16 pm
Has thanked: 24 times
Have thanks: 16 times

Re: [MODELO] Classe API Function

Mensagempor wagner » Sáb Jun 16, 2018 3:24 pm

Mikel,

Boa tarde!

Obrigado por compartilhar as atualizações. Percebi dois erros quando se usa objApi.ActivateButtons com WS_MAXIMIZE e quando se usa com WS_MINIMIZE (vide tela abaixo - Mensagem erro 1).

O outro erro que percebi foi com o uso de objApi.ShowFormTaskBar. Ocorre o erro conforme tela abaixo (Mensagem erro 2).
Você não está autorizado a ver ou baixar esse anexo.
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 4125
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 69 times
Have thanks: 1790 times

Re: [MODELO] Classe API Function

Mensagempor Mikel Silveira Fraga » Seg Jun 18, 2018 8:28 am

Wagner, bom dia.

Cara, sobre o segundo erro, no vídeo eu falo sobre a situação da propriedade ShowModal, onde é preciso mudar o valor para False ou o Userform precisa ser chamado com o parâmetro vbModeless, que realiza a mesma função via script. Somente com essa propriedade desativada, é que a função ShowFormTaskBar irá funcionar. Tentei desativar essa propriedade via script dentro da classe, mas não foi possível e, por esse motivo, precisa ser feito na chamada do Userform, conforme citado acima.

Sobre o primeiro erro, uma pergunta: quando é chamada a função e informado o sinal de atribuição ("="), aparece as opções do intellisense? Se sim, precisaria de mais detalhes sobre o erro, para tentar analisar o motivo de não estar realizando a chamada.

Vou ficar no aguardo de um novo retorno. Outras dúvidas, estou a disposição.
Esclareceu suas dúvidas? Acrescente ao título do tópico a expressão: [RESOLVIDO].
Mikel Silveira Fraga
E-mail: mikel-sf@hotmail.com
Skype: mikelsf
Imagem
Mikel Silveira Fraga
Membro
Membro
 
Mensagens: 49
Registrado em: Qui Ago 02, 2012 10:16 pm
Has thanked: 24 times
Have thanks: 16 times

Próximo

Voltar para Biblioteca

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes