Deshabilitar ctrl+c y ctrj+v en text-box

Fer soy yo de nuevo
Quiero saber como deshabilito
ctrl+c y ctrj+v en text-box
En vb

1 respuesta

Respuesta
1
La solución pasa por instruir en VBA qué hacer cuando ambas teclas son presionadas.
Para ello necesitarás unos comandos al inicializar el formulario que luego deberán ser revertidos al salir del formulario para que funcionen normalmente.
Inserta un módulo nuevo y pega allí todo esto:
Sub Nocopia() 'Inhabilita los atajos para copiar,cortar y pegar
Application. OnKey "^c", "cancelalo"
Application. OnKey "^C", "cancelalo"
Application. OnKey "^v", "cancelalo"
Application. OnKey "^V", "cancelalo"
Application. OnKey "^x", "cancelalo"
Application. OnKey "^X", "cancelalo"
End Sub
Sub cancelalo()
Cancel = True
End Sub
Sub Sicopia() 'Habilita los atajos para copiar,cortar y pegar
Application. OnKey "^c"
Application. OnKey "^C"
Application. OnKey "^v"
Application. OnKey "^V"
Application. OnKey "^x"
Application. OnKey "^X"
End Sub
Tienes tres macros. El primero inhabilita los comandos de copiar, cortar y pegar diparando el segundo macro cuando se presionen cualquiera de esos atajos. El segundo macro, simplemente cancela la instrucción. Finalmente el tercer macro restituye la funcionalidad a la teclas para que puedan ser usadas nuevamente al salir del formulario.
Por lo tanto, Levis, deberías tener un llamado al primer macro al inicializar el formulario, i.e. en la hoja de códigos de formulario:
Private Sub UserForm_Initialize()
Nocopia
End Sub
Y al salir del formulario, un llamado a la instrucción de Sicopia.
Calculo que esto resolverá tu problema. Si así fuera, ya sabes qué hacer...
Un gran abrazo!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas