Fer soy yo de nuevo Quiero saber como deshabilito ctrl+c y ctrj+v en text-box En vb
1 respuesta
Respuesta de fejoal
1
1
fejoal, Por falta de tiempo para responder como me gusta hacerlo suspendo...
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