Crear eventos OnClick por código

19/12/2005 - 10:26 por Emilio | Informe spam
Buenos días a a tod@s

A ver si me podéis echar una manita, en Access puedo asignar, por ejemplo al
cargar un formulario, al evento onclick de todas las etiquetas de ese
formulario un código repetitivo, por ejemplo

For Each Etiqueta In Me.Controls
If Left(Etiqueta.Name, 3) = "txt" Then
Etiqueta.OnClick = "=EtiquetaOnClick('" & Etiqueta.Name & "')"
End If
Next Etiqueta

he intentado hacer lo mismo en un UserForm en Excel y me dice (en tiempo de
ejecución) que nones :(
error 438 "El objeto no admite esta propiedad o método"
he tratado de buscar en Google algo pero la verdad es que he agotado mis
recursos, se os ocurre alguna manera alternativa de hacerlo.

Muchas gracias a tod@s

Emilio
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.com/emilio

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
21/12/2005 - 06:13 | Informe spam
hola, Emilio !

Mostrar la cita
1) la propiedad 'OnClick' que mencionas para algunos controles en formularios de Access...
para controles 'de formularios' en Excel, se convierte en la propiedad 'OnAction' y [hasta donde se]...
-> NO es aplicable para los objetos ActiveX [que son los que se utilizan en los UserForms de VBA] :-(

2) es posible que pudieras 'evitar' el uso de modulos 'de clase' PERO... tratandose de controles ActiveX...
-> tendrias que escribir codigo [repetitivo] en el modulo del formulario para el evento '_click' de 'esos' controles :-(

3) no se que tan frecuente/recurrente/... pudiera ser la necesidad de re/asignar macros a objetos -?-
y/o 'cambiar de procedimientos' [posiblemente de acuerdo a 'otras' circunstancias] antes de mostrar el UserForm -?-
[probablemente] usando el evento '_click' podrias 'direccionar' algunos 'parametros' a una macro 'general'...
y mandar el codigo 'repetitivo' a dicha macro a traves del metodo -> Application.Run "Macro" [parametro1, parametro2, etc.]

-> te paso un ejemplo al fina ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

suponiendo un userform con 2 controles label que 'mandan' a una macro general su nombre y su caption...
en el modulo de codigo del formulario ==Private Sub Label1_Click()
Application.Run "Al_Clicar_Etiquetas", Label1.Name, Label1.Caption
End Sub
Private Sub Label2_Click()
Application.Run "Al_Clicar_Etiquetas", Label2.Name, Label2.Caption
End Sub

y en un modulo de codigo 'normal' ==Option Private Module
Sub Al_Clicar_Etiquetas(ByVal Etiqueta As String, ByVal Mensaje As String)
MsgBox "Se ha cliclado en la etiqueta: " & Etiqueta & vbCr & _
"que contiene: " & Mensaje
End Sub
#2 Emilio
21/12/2005 - 08:49 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
Muchas gracias Hector Miguel :-))
en realidad estoy construyendo un calendario en un userform, sin utilizar el
control Calendar, eso implica la necesidad de aplicar el mismo evento on
click a 42 etiquetas, ya lo tengo hecho en access con un unico bucle y
funciona muy bien y en excel mediante el módulo de clase tal como me indicó
KL también funciona muy bien, como os decía el unico contra es de cara a la
exportación, que me obliga a importar a posteriori dos archivos, lo cual es
perfectamente asumible.

Saludos a
Emilio
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.com/emilio


"Héctor Miguel" escribió en el mensaje
news:
Mostrar la cita
de clase
Mostrar la cita
onclick de todas las etiquetas... un codigo repetitivo, por ejemplo
Mostrar la cita
ejecucion) que nones :(
Mostrar la cita
[...]
Mostrar la cita
formularios de Access...
Mostrar la cita
'OnAction' y [hasta donde se]...
Mostrar la cita
utilizan en los UserForms de VBA] :-(
Mostrar la cita
tratandose de controles ActiveX...
Mostrar la cita
formulario para el evento '_click' de 'esos' controles :-(
Mostrar la cita
re/asignar macros a objetos -?-
Mostrar la cita
circunstancias] antes de mostrar el UserForm -?-
Mostrar la cita
algunos 'parametros' a una macro 'general'...
Mostrar la cita
Application.Run "Macro" [parametro1, parametro2, etc.]
Mostrar la cita
general su nombre y su caption...
Mostrar la cita
Ads by Google
Search Busqueda sugerida