Inserir um MaskEdBo...
 
Notifications
Clear all

Inserir um MaskEdBox no UserForm

21 Posts
2 Usuários
0 Likes
4,966 Visualizações
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
Topic starter
 

Prezados Companheiros do Fórum,

Boa Tarde!

Peço, por gentileza, se alguém já tiver passado por esse problema, que me informe como resolvê-lo, pois acho que já li quase tudo sobre o assunto na internet, inclusive em fóruns internacionais e ainda não encontrei a solução (se é que existe) para esse problema. Tentei de tudo, conforme ía lendo (baoixa de arquivos, registro de dll, ocx ou componente com Regsvr32.exe sendo executado como administrador da máquina, modificação da UAC, modificação das chaves de registro no Windows 7 - REGEDIT e por aí vai) Nada dá certo.

Uso o Windows 7 de 64 bits e o Excel 2007. Tenho também o VB 6.0, o 8.0 e o 10.0 instalados. Estou tentando usar o controle MakEdBox em um UserForm no Excel e simplesmente é impossível. Clico com o botão direito na caixa de ferramentas e até consigo inserir o controle nela. Entretando, ao inserir uma cópia do controle no formulário, vem a mensagem "Não há confiabilidade no requerente para a ação especificada." Li também inúmeras matérias e respostas a fóruns sobre esse tipo de erro (inclusive com outros controles), todavia, nada do que fiz deu resultado. Não consigo inserir esse controle no meu formulário. Li, inclusive, artigo de um profissional certificado Microsoft informando que o controle aparece porque é um ActiveX mas que o Excel não é capaz de "entender" ele uma vez que não foi desenvolvido para trabalhar com o Excel. Bem... pode ser que ele tenha razão, mas, se assim for, porque então outros controles não nativos do Excel como o ListView, DBGrid, MSFlexGrid funcionam?

Alguém tem uma sugestão? Quando utilizo esse controle em um projeto VB não tenho nenhum problema.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 05/05/2013 12:01 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43753
Illustrious Member
 

Eu sou da turma que usa o Excel extensivamente, e também uso o VBA extensivamente, e exploro e estresso os recursos nativos que são disponíveis na aplicação.

Eu não sou a favor do uso de API's ou controles externos, só utilizo em último caso. Porque com eles, vc passa a abrir seu aplicativo a possibilidade alta erros de ambiente como o que você está passando.

Então, peço até desculpas pelo que vou dizer, mas, minha resposta é, se não é do Excel, não use. o PDM neste caso cairá pra tendência de zero.

PDM = Potência pra Dar Merda

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

 
Postado : 05/05/2013 12:14 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
Topic starter
 

Demais companheiros do Fórum,

Discordo, em parte, da opinião do colega. Em programação, quando se deseja atingir determinado objetivo, deve-se lançar mão de todo e qualquer recurso disponível que exista. A linguagem VBA é poderosíssima principalmente por permitir, inclusive, que se crie os nossos próprios objetos, utilizando os módulos de classes.

A PDM, como citou o colega fernando, está presente em tudo nosso cotidiano, desde que estejamos dispostos a quebrar paradigmas.

Assim, continuo aguardando novas contribuições.

Apenas para esclarecer: creio que não é problema de registro, pois a ocx foi registrada normalmente com mensagem de êxito no registro.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 06/05/2013 4:58 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43753
Illustrious Member
 

Wagner,

vamos lá, eu entendo perfeitamente o que vc quis dizer. E acredite, eu concordo com você, mas mesmo assim eu respeito o Excel e seus limites. Se eu quero ir mais longe do que o Excel pode, eu mudo a linguagem. Entendeu? Eu quebro os paradigmas, eu faço acontecer, aonde é possível.
Tendeu?

Mas enfim, como eu disse antes, me desculpe por minha opinião diferir da sua.
Boa sorte.

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

 
Postado : 06/05/2013 5:58 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
Topic starter
 

fernando,

Boa Noite!

Sua contribuição foi excelente e eu não estou preocupado com divergências de opinião. O Fórum só é bom por causa disso. Uns concordam e outros discordam. E com isso todos nós aprendemos.

Minha intenção aqui é unicamente aprender cada vez um pouco mais, portanto, quanto mais opiniões, melhor!

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 06/05/2013 3:06 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43753
Illustrious Member
 

Wagner, como o meu Windows é de 32 bits não tenho como testar, e aqui no serviço tambem não temos Excel 2007, andei pesquisando tambem na net e acredito que tudo que encontrei você já deve ter visto, e a maioria diz sobre registrar o "ocx".
De momento eu gostaria de tirar uma duvida, se chegou a realizar o teste com este controle em algum PC com windows 32 bits e excel 2007 ? Mais tarde em casa vou ver se faço um teste tambem e aviso.

Quanto a questão das divergências de opiniões, é para isto que servem tambem os Foruns, desde que as trocas de opiniões sejam em nivel amigavel, é sempre bom colhermos e aprendermos com a experiência de outros e conhecermos um pouco mais sobre os vários recursos que os app office oferecem ainda mais o excel, eu já cheguei a comentar em varios foruns, que não cheguei a fazer nehum curso, e tudo que sei e tenho a certeza que não deve chegar a 50% de muito dos colegas ou de todos os recursos que o excel e o VBA oferecem, foi atraves de livros e depois com os foruns e muita dedicação, e vou aproveitar para dar minha opinião tambem.
Como sempre fui autodidata e por muitas vezes utilizei o VBA mais a titulo de aprendizado e de inicio me deslumbrei com esta ferramenta comecei a adaptar minhas planilhas e a criar tudo quanto era tipo, e, foi entre estas incursões no mundo do VBA que apos varios anos de utilização e tendo muitos problemas quanto a compatibilidades de bibliotecas, versões, ainda mais quando utilizava API's, acabei em certo momento a pensar da mesma forma que as opiniões dos colegas, cheguei a ver que em determinados casos, como alguns tambem comentam no Forum, poderia dispensar o VBA e utilizar os proprios recursos e funções nativas para obter o resultado, mas a questão é que por muitas vezes queremos fazer algo diferente e se for criação nossa melhor ainda, já tive vários elogios de colegas do trabalho, de meu chefe e até fiz alguns aplicativos para uso expecifico em que geralmente quem solicitou pergunta, "Mas não da para deixar como se fosse uma aplicativo, somente com a tela do formulário" ou impedir que acessem as abas entre varias outras questões.
Poderia ir mais longe, mas vamos ficar por aqui e deixar minha opinião, eu tambem concordo em parte com as duas opiniões, tem vezes que a utilização de API's pode gerar uma dor de cabeça devido as bibliotecas e por muitas vezes sugeri que evitassem de utilizar e até eliminei de alguns app mais pelo problema de compatibilidade, nesta questão concordo com a opinião do Fernando -

"Eu não sou a favor do uso de API's ou controles externos, só utilizo em último caso. Porque com eles, vc passa a abrir seu aplicativo a possibilidade alta erros de ambiente como o que você está passando."

, tambem já desmontei um app que estava criando em VBA e refiz tudo somente com formulas e funções, como tambem já fiz o contrário e por muitas vezes levei um bom tempo em foruns aguardando uma solução e na maioria das vezes a obtive, e aqui concordo com o Wagner -

"Em programação, quando se deseja atingir determinado objetivo, deve-se lançar mão de todo e qualquer recurso disponível que exista. A linguagem VBA é poderosíssima principalmente por permitir, inclusive, que se crie os nossos próprios objetos, utilizando os módulos de classes."

, já cheguei a adaptar rotinas de VB para VBA em controle que não é nativo do excel, como por exemplo o ListView.
Resumindo, eu já cheguei a responder que determinada implementação em VBA que a pessoa queria não teria como fazer e depois "queimei a lingua" quando encontrava uma solução que achava que não era possível, e obtive soluções simples com uso de formulas mirabulantes, então eu geralmente recomendo aos colegas aqui do serviço ou aqueles que me procuram, a pensar bem antes o que realmente querem e se tem como ser uma coisa bem simples, porque onde mais chegamos a encontrar problemas é quando eles querem mais uma tela de apresentação e muita maquiagem sem necessidade do que propriamente um aplicativo mais funcional, por isso que cheguei a postar aqui no forum a opinião de um colega do Forum ExcelBr sobre o uso racional do excel, devido a muitos usuários na maioria das vezes não planejarem antes o que querem.

Uso Racional do EXCEL
viewtopic.php?f=9&t=2474

Era para ser um resposta simples e direta, o uqe geralmente espermos nos Foruns e me excedi e acabei fugindo do assunto do tópico, então antecipo minhas desculpas, e quem sabe podemos até sugerir um Forum para troca de opiniões e conhecimentos.

[]s

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

 
Postado : 07/05/2013 6:44 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43753
Illustrious Member
 

Boa noite!!

Wagner, eu não tenho certeza, mas creio que há uma incompatibilidade desse (componente), tornando no momento sua utilidade impossível.

Por curiosidade, porque você precisa usar esse componente?

No momento eu não sei como te ajudar :(
-----------Editado-------------

Wagner, eu andei conversando com um amigo, eu posso está enganado, mas é justamente como você havia dito, nem todos mas alguns componentes são incompatíveis!

Att

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

 
Postado : 07/05/2013 4:46 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43753
Illustrious Member
 

Wagner, fuifazer um teste com este controle e descobri que ele não existe em minha máquina, nem nos dois CDs que tenho do VB6 encontrei a biblioteca "msmask32.ocx", acabei baixando a mesma do site : http://www.ocxdump.com/download-ocx-fil ... nload.html, e copiei para a pasta System32, no PC que estou ainda é WinXP, abri o Excel 2007 adicionei a referencia em Controles Adicionais, inclui o mesmo em Formulário e ao executar foi normal, sem msg de erro, pensei que iria precisar registrar a biblioteca, mas não pediu.

Depois se der vou testar no Win7 - 32bits e posto o resultado, provavelmente o problema seja com a versão 64 bits mesmo.

Por hora é só.

[]s

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

 
Postado : 07/05/2013 5:49 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43753
Illustrious Member
 

Mauro Coutinho, bem legal sua resposta.
Wagner, agora estou ansioso pra ver quem consegue te ajudar, pq também quero ver boas notícias quanto a este controle funcionando.

Boa noite galera.

F.F.

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

 
Postado : 07/05/2013 9:32 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
Topic starter
 

Amigos Fernando, Mauro e Alexandre,

Muito obrigado por suas contribuições! Fico feliz em participar de um fórum como esse, com tantos integrantes brilhantes e poder compartilhar também meus parcos conhecimentos com vocês. É uma honra para mim e sempre uma grande oportunidade de poder aprender cada vez mais.

Mauro, sua história no VB/VBA se parece muito com a minha. Se fosse começar a comentar aqui, daria um livro.

Passei um e-mail diretamente com esse problema para o grande mestre José Carlos Macoratti que me respondeu o seguinte: "teoricamente qualquer ocx criada no modelo COM pode ser usada nos aplicativos Office.
existem problemas com o Windows 7 e Vista que dependendo do cenário podem complicar o uso de recursos COM notadamente devido ao registros das dependências que nos ambientes windows ficou muito restritiva devido a questões de segurança.
"

Desse modo, como tenho instaldo, em cada, uma máquina virtual com Windows XP e Excel 2007, vou testar a utilização do MaskEdBox nessa máquina virtual.

Alexandre,

Estou criando um userform de cadastro onde o usuário terá que entrar com muitos telefones, CEP's, CNPJ'e e CPF's. Assim, nada melhor do que ele já ter uma máscara de entrada para lhe indicar, intuitivamente, o tipo de campo.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 08/05/2013 6:40 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43753
Illustrious Member
 

Amigos Fernando, Mauro e Alexandre,

Muito obrigado por suas contribuições! Fico feliz em participar de um fórum como esse, com tantos integrantes brilhantes e poder compartilhar também meus parcos conhecimentos com vocês. É uma honra para mim e sempre uma grande oportunidade de poder aprender cada vez mais.

Mauro, sua história no VB/VBA se parece muito com a minha. Se fosse começar a comentar aqui, daria um livro.

Grato pelo consideração, e quem sabe um dia penso em escrever um livro tambem, rsrsr

Passei um e-mail diretamente com esse problema para o grande mestre José Carlos Macoratti que me respondeu o seguinte: "teoricamente qualquer ocx criada no modelo COM pode ser usada nos aplicativos Office.
existem problemas com o Windows 7 e Vista que dependendo do cenário podem complicar o uso de recursos COM notadamente devido ao registros das dependências que nos ambientes windows ficou muito restritiva devido a questões de segurança.
"

Eu estava para escrever, mas o serviço as vezes nos impedem de ficar até lendo os posts, e o que observei na resposta do Macoratti é o uso do termo “teoricamente”, o que vem confrontar diretamente com o parágrafo do suporte da MS quanto a alguns controles activex que podem ser instalados, mas não foram testados e podem não funcionar de maneira adequada, o artigo é sobre Activex na planilha, mas que também se refere a Masked Edit Control - Msmask32.ocx, resumindo e focando na questão aqui discutida, tirei somente a parte :
Você pode inserir os seguintes controles ActiveX em uma planilha do Microsoft Excel sem receber uma mensagem de erro. No entanto, esses controles ActiveX não foram testados para uso em planilhas do Microsoft Excel. Esses controles não podem ser totalmente funcionais.
Masked Edit Control Microsoft Visual Basic 5.0 Professional Msmask32.ocx

Vejam o artigo e uma lista dos controles no link abaixo :
Erro Inserir objeto ActiveX em uma planilha
http://support.microsoft.com/kb/165450/pt

Também encontrei alguns outros links, acredito que já deve ter visto, alias existe muita informação na net, se for postar todas, teremos uma lista imensa, mas vou deixar alguns para aqueles que quiserem se interar sobre a questão:

Como utilizar a ferramenta Regsvr32 e resolver problemas de mensagens de erro na Regsvr32
Numa versão de 64 bits de um sistema operativo Windows, existem duas versões do ficheiro Regsv32.exe
http://support.microsoft.com/kb/249873/pt#method3

Algumas questões sobre a Msmask32.ocx:
http://social.technet.microsoft.com/Sea ... More=false

Desse modo, como tenho instaldo, em cada, uma máquina virtual com Windows XP e Excel 2007, vou testar a utilização do MaskEdBox nessa máquina virtual.

Vamos aguardar os testes.

Estou criando um userform de cadastro onde o usuário terá que entrar com muitos telefones, CEP's, CNPJ'e e CPF's. Assim, nada melhor do que ele já ter uma máscara de entrada para lhe indicar, intuitivamente, o tipo de campo.

Não querendo me intrometer em seu projeto, mas já me intrometendo, rsrsrsrs, porque ao invés de utilizar um controle que pode vir a ter mais problemas se resolver distribuir o aplicativo que está criando, não utiliza um TextBox onde podemos ter as mascaras que pretende e assim não ter de passar por outros incovenientes ? Imagino que deve ter uma razão especial e logicamente sabe sobre a mascara no textbox, de qualquer forma veja no link abaixo onde postei algumas opções:
Fomatar TextBox Eventos KeyPress e Change
http://www.tomasvasquez.com.br/forum/vi ... YpM1KyA5Iw

[]s

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

 
Postado : 08/05/2013 7:22 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
Topic starter
 

Obrigado pelas orientações Mauro.

Vou ver todas esssa opções. Entretanto, creio que você matou a charada com a informação disponibilizada pela Microsoft: A versão que aparece aqui na minha Caixa de Ferramentas é Microsoft Masked Edit Control, version 6.0.

lembro-me, que há algum tempo atrás eu tive um problema semelhante com o ListView. Na minha caixa de ferramentas eu tinha Microsoft ListView Control, version 5.0 (SP2) (arquivo Comctl32.ocx). Esse não funcionava. Depois consegui o Microsoft ListView Control, version 6.0 (arquivo MSCONCTL.OCX) e aí deu tudo certo. Pode ser que seja isso...

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 08/05/2013 9:25 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43753
Illustrious Member
 

Wagner já que mencionou a bilblioteca MSCONCTL.OCX, eu ia colocar sobre ela e acabei não postando, de uma olhada no link abaixo se ainda não viu, o Mikel Silveira Fraga teve problemas de incompatibilidade com ela pela mesma questão de versões, ele resolveu trocando a mesma e até anexou para quem quiser baixar, vale lembrar que é importante que se crie um Ponto de Recuperação do windows, poi como e stamos lidando com bibliotecas algumas podem dar pau no sistema.
Biblioteca MsComCtl – Incompatibilidade com alguns SP´s
http://www.tomasvasquez.com.br/forum/vi ... ctl#p11496

Aqui temos mais um pouico sobre erro nesta biblioteca (Erro de Automação) apos uma atualização do Window :
"Unspecified Automation Error" after applying MS12-060
http://blogs.technet.com/b/the_microsof ... 2-060.aspx

Uma outra cois que deixei passar é que diz ter windows 7 de 64 bits e excel 2007, o excel tambem é 64 bits ou é 32 bits ?

No link abaixo temos assunto sobre 32 ou 64 bits, mas é sobre o Excel 2010 mas deve ter alguma relação já que o mask edit não padrão do office:
Escolha uma versão de 32 bits ou de 64 bits do Microsoft Office
O que foi incluído na versão de 32 bits do Office que não está na versão de 64 bits?
* Biblioteca de controles ActiveX, ComCtl Essa biblioteca contém controles ActiveX utilizados para criar soluções. O uso mais comum ocorre nestes programas do Microsoft Office programas: Access, Excel e Word.
* Controle de lista do SharePoint O modo de exibição de lista da Tecnologia do SharePoint não está disponível para usuários da versão de 64 bits do Office.

Pode até ser que o que foi colocado acima não tenha nenhuma relação, mas vale a leitura e mais um pouco de informação, e é por estas tantas questões de incompatibilidades devido às varias versões que temos do windows e pacotes office que eu sou da opinião de utilizar o VBA somente em casos bem expecificos e implementações mais simples, ainda mais se formos distribuir o que estamos criando.

[]s

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

 
Postado : 08/05/2013 10:41 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
Topic starter
 

Ok, Mauro.

Obrigado mais uma vez. Vou encerrar o tópico e estudar um pouco mais.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 08/05/2013 7:29 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43753
Illustrious Member
 

Ok, Mauro.

Obrigado mais uma vez. Vou encerrar o tópico e estudar um pouco mais.

Wagner, hoje não tive tempo de dar mais uma olhada, mas ontem fiz um teste no Win 7 - 32 bits e excel 2007 e não funcionou,na hora de acrescentar o controle da mensagem que não é seguro e não vai, e, nem Registrando a biblioteca, provavelmente devido a versão, depois vou ver se baixo outras versões para fazer novos testes.

[]s

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

 
Postado : 09/05/2013 8:51 pm
Página 1 / 2