Proyecto de firmas de seguridad excel

Hola me llamo Juan y tengo en la cabeza un proyecto para mi empresa que no lo tengo tan estructurado como me gustaría y necesito un par de ideas claras y concisas a ser posible. Les comento de que trata:
1. Manejamos múltiples archivos de excel con diversas hojas en cada una todas coinciden con un encabezado en el que cada persona que toca la hoja debe dejarlo firmado (sus iniciales y la fecha de modificación) y luego llega un revisor que debe hacer los mismo tras haber revisado el trabajo.
2. Este proceso lo realiza cada persona desde su ordenador personal.
3. Dado que estoy harto que algunos revisores firmen con mis iniciales sus trabajos de baja calidad y a vista de esto el viejo método de la confianza en el compañero de trabajo ha dejado de funcionar, me planteo alguna forma de que cuando yo intruduzca mis iniciales en la celda se abra un textbox que me permita introducir una clave personal que no permita introducir las iniciales de otro.
4. Existe un problema más, no quiero llenar cada hoja de macros y botones (como inicialmente me lo había planteado) porque un archivo de 30kb puede llegar a 30mb y no es la intención. Más bien pensaba en una hoja exclusiva de macros que todos los usuarios tengan abierta para poder firmar o crear una función que se adapte al excel como un complemento, tipo solver o así (si es posible)
5. A esto me gustaría incluir un nivel de seguridad de manera que según la jerarquía establecida por la empresa lo que firmo yo no puede ser modificado por subalternos y lo que firma el jefe no pueda ser modificado por nadie.
Bueno este es mi planteamiento y lo que necesito es una lluvia de ideas para resolver o estructurar un proyecto que tengo claro que debería ser en VBA.
Gracias de antemano y perdón por lo extenso del asunto pero es mejor que quede más o menos claro.

1 respuesta

Respuesta
1
Pienso que quizás te estás complicando un poco.
Yo me plantearía dejarles que firme cada uno con las iniciales que quiera, pero me guardaría en una página oculta un log con: las iniciales, el usuario, el nombre del PC y la fecha-hora.
Para evitar que jueguen con todo, pondría una clave para ver el código de Visual Basic al tiempo que protegería tanto el libro como la página con el log.
Pienso que así podrías pillar al que te esta firmando con tus iniciales.
También puedes controlar que si no es tu usuario y tu PC, que no permita tus iniciales. O quizás mejor, que nadie ponga la iniciales y que aparezcan en función del usuario y el PC.
Sólo tendrías que crearte una función que te devolviera las iniciales:
function misIniciales() as string
    select case ucase$(environ("USERNAME") & "-" & environ("COMPUTERNAME"))
        case "MIUSUARIO-MIPUESTO": misIniciales = "MISINICIALES"
        case "OTROUSUARIO-OTROPUESTO": misIniciales = "OTRASINICIALES"
        case else: msgbox "Usuario-Puesto no reconocido"
    end select
end function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas