y sigo con lo de la fecha

12/07/2006 - 06:00 por LUIS DANNY SALAS | Informe spam
Que pena , le quiero sacar el jugo a este foro y a mis amigos que responden.

Lo que he querido desde un principio es evitar que un usuario devuleva la
fecha del windows, o por lo menos persuadirlo de que lo haga.

estableci el siguiente codigo en un modulo:

Private Sub Auto_Open()
Application.ScreenUpdating = False
Sheets("Hoja1").Select
Range("A1").Select
Range("A1").Value = Date
Range("A1").Select
Selection.EntireRow.Insert
End sub

Este codigo hace que cada vez que se habra el archivo se vaya anotando la
fecha de manera que con el tiempo tendre en el archivo una gran columna
llena de fechas una en cada celda que si el usuario no ha modificado la
fecha en la barra de herramientas de windows sera una columna con fechas
progresivas cada vez mayores(o por lo menos iguales si se abre vairas veces
en un dia) de arriba para abajo:


A1 7 de julio
A2 6 de julio
A3 5 de julio
A4 4 de Julio
A5 3 de julio

El asunto es que nesesito una macro o codigo que mande un mensaje en el
momento en que esa progresion se rompa , por que si mi usuario devuleve a
una fecha anterior el windows ya la secuencia de la columna se interrumpira
y la fecha mas reciente sera menor que las anteriores


asi esta:

A1 7 de julio
A2 6 de julio
A3 5 de julio
A4 4 de Julio
A5 3 de julio

pero si el usuario baja la fecha y pone en el windows( en el cuadro date /
time properties de la barra de herramintas) que hoy sea la fecha de 3 de
julio al abriri el archivo la columna quedaria asi

A1 3 de julio
A2 7 de julio
A3 6 de julio
A4 5 de julio
A4 4 de Julio
A6 3 de julio

entonces ya no habria una secuencia correcta en la columna(no importa que
haya fechas iguales lo que no puede suceder es que alguna de las de arriba
sea menor que la anterior), aqui es donde quiero que aparaezaca un cuadro
diciendo algo asi " si sigues cambiando la fecha del sistema ,este programa
dejara de funcionar y se borrara tu disco duro"

Ademas podria introducir una formula que haga variaciones en todo el libro
dejandolo inutilizable si se cumple la condicion:
"La columna de fechas no esta en un orden correcto", solo que no se como
expresar esto ni en una macro ni en una formula.

Trate de usar este:

Private Sub Worksheet_Calculate()
If [A1] < [A6] Then _
MsgBox "texto del mensaje"
End Sub


pero no se produce el mensaje cuando se pone una fecha menor al principio de
la columna.
Tal vez alguien me pueda ayudar gracias.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
12/07/2006 - 04:59 | Informe spam
hola, Luis !

1) [me parece que]... es un poquitn... 'agresivo' el 'mensaje' que quieres mandar a un usuario... 'jugueton' [con la fecha del sistema] :D

2) prueba con algo +/- parecido a lo siguiente:
-> a) puedes usar una hoja 'oculta' [con la propiedad .Visible establecida en xlSheetVeryHidden en la ventana de propiedades]
-> b) en un modulo de codigo 'normal', copia/pega las siguientes lineas:
Option Private Module
Sub Revisar_fechas()
With Worksheets("oculta").Range("a" & Rows.Count).End(xlUp)
If Now < .Value Then
MsgBox "La fecha 'del sistema'..." & vbCr & _
"NO se corresponde con mis registros !!!" & vbCr & _
"Asi que ahora... procedere a... ???", , "Haciendo trampa ?"
Else
.Offset(1) = CDbl(Now)
End If
End With
End Sub
-> c) la macro anterior puedes 'llamarla' desde cualquier otro 'evento' donde necesites 'monitorear' cambios de fechas
[p.e.] en el modulo de codigo del libro, en el evento de apertura:
Private Sub Workbook_Open()
Revisar_fechas
End Sub

3) NO 'olvides' que los eventos pueden ser 'inhabilitados' por el usuario [o por otros codigos 'maliciosos'] p.e.
a) manteniendo pulsada la tecla {mayus} 'mientras' se abre 'tu archivo' [aun dandole permiso de usar las macros] :-((
b) te aseguro que NO es 'mi intencion' parecerte un 'aguafiestas' [o un pesimista], sin embargo...
[existen un 'sin-numero' de 'alternativas' para 'brincar' ESTE tipo de 'protecciones']

4) si no has tenido tiempo de revisar los enlaces 'sugeridos' en conversaciones anteriores, te los paso nuevamente:
si te decides por 'darle mas duro' al aprendizaje del vba... revisa estas conversaciones: -> http://tinyurl.com/qn7p8



5) este 'asunto' [elaborar un 'sistema de proteccion... a prueba de balas'] tiene todavia bastante 'tela de donde cortar' :))

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

__ la consulta original __
Lo que he querido desde un principio es evitar que un usuario devuleva la fecha del windows, o por lo menos persuadirlo de que lo haga.
estableci el siguiente codigo en un modulo:
Private Sub Auto_Open()
Application.ScreenUpdating = False
Sheets("Hoja1").Select
Range("A1").Select
Range("A1").Value = Date
Range("A1").Select
Selection.EntireRow.Insert
End sub
... de manera que con el tiempo... si el usuario no ha modificado la fecha en... windows sera una columna con fechas progresivas
...nesesito una macro o codigo que mande un mensaje en el momento en que esa progresion se rompa [...]
... aqui es donde quiero que aparaezaca un cuadro diciendo algo asi
"si sigues cambiando la fecha del sistema, este programa dejara de funcionar y se borrara tu disco duro" [...]
Respuesta Responder a este mensaje
#2 Gabriel Raigosa
12/07/2006 - 15:36 | Informe spam
Y siguiendo con el tema de seguiridad que tanto le preocupa la Luis, no se
si conoces un pragrama llamado

"Advanced VBA Password Recovery PRO", ya lo he usado para quitar las
contraseñas a los archivos de excel que tienen los modulos VBA protegidos
con contraseñas, sumado al "Advanced Excel 2000 Password Recovery".

Tu excel esta practicamente desprotegido ..

Lo primero es quitar las contraseñas del VBA, luego quitar las contraseñas
de las hojas, despues cargar el archivo sin permitir la ejecucion de ninguna
macro y por ultimo el usuario "avanzado" (por ejemplo "Hector"), esculcara y
revolcara el archivo de tal manera que tanto trabajo de protecciones quedo
en nada.

en esta direccion encontraras programas para quitar contraseñas a un monton
de cosas

http://www.elcomsoft.com/avpr.html


Gabriel Raigosa
Medellín - Colombia

news://msnews.microsoft.com/
news://msnews.microsoft.com/microso...c.es.excel

"Héctor Miguel" escribió en el mensaje
news:
hola, Luis !

1) [me parece que]... es un poquitn... 'agresivo' el 'mensaje' que quieres
mandar a un usuario... 'jugueton' [con la fecha del sistema] :D

2) prueba con algo +/- parecido a lo siguiente:
-> a) puedes usar una hoja 'oculta' [con la propiedad .Visible establecida
en xlSheetVeryHidden en la ventana de propiedades]
-> b) en un modulo de codigo 'normal', copia/pega las siguientes lineas:
Option Private Module
Sub Revisar_fechas()
With Worksheets("oculta").Range("a" & Rows.Count).End(xlUp)
If Now < .Value Then
MsgBox "La fecha 'del sistema'..." & vbCr & _
"NO se corresponde con mis registros !!!" & vbCr & _
"Asi que ahora... procedere a... ???", , "Haciendo
trampa ?"
Else
.Offset(1) = CDbl(Now)
End If
End With
End Sub
-> c) la macro anterior puedes 'llamarla' desde cualquier otro 'evento'
donde necesites 'monitorear' cambios de fechas
[p.e.] en el modulo de codigo del libro, en el evento de apertura:
Private Sub Workbook_Open()
Revisar_fechas
End Sub

3) NO 'olvides' que los eventos pueden ser 'inhabilitados' por el usuario
[o por otros codigos 'maliciosos'] p.e.
a) manteniendo pulsada la tecla {mayus} 'mientras' se abre 'tu archivo'
[aun dandole permiso de usar las macros] :-((
b) te aseguro que NO es 'mi intencion' parecerte un 'aguafiestas' [o un
pesimista], sin embargo...
[existen un 'sin-numero' de 'alternativas' para 'brincar' ESTE tipo
de 'protecciones']

4) si no has tenido tiempo de revisar los enlaces 'sugeridos' en
conversaciones anteriores, te los paso nuevamente:
> si te decides por 'darle mas duro' al aprendizaje del vba... revisa
estas conversaciones: -> http://tinyurl.com/qn7p8

5) este 'asunto' [elaborar un 'sistema de proteccion... a prueba de
balas'] tiene todavia bastante 'tela de donde cortar' :))

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

__ la consulta original __
Lo que he querido desde un principio es evitar que un usuario devuleva la
fecha del windows, o por lo menos persuadirlo de que lo haga.
estableci el siguiente codigo en un modulo:
Private Sub Auto_Open()
Application.ScreenUpdating = False
Sheets("Hoja1").Select
Range("A1").Select
Range("A1").Value = Date
Range("A1").Select
Selection.EntireRow.Insert
End sub
... de manera que con el tiempo... si el usuario no ha modificado la
fecha en... windows sera una columna con fechas progresivas
...nesesito una macro o codigo que mande un mensaje en el momento en que
esa progresion se rompa [...]
... aqui es donde quiero que aparaezaca un cuadro diciendo algo asi
"si sigues cambiando la fecha del sistema, este programa dejara de
funcionar y se borrara tu disco duro" [...]




Respuesta Responder a este mensaje
#3 Gabriel Raigosa
12/07/2006 - 18:49 | Informe spam
"tu archivo de excel va a quedar como tu auto"

hay un programa que convierte un archivo de excel *.xls, en ejecutable *.exe

se necesita tener instalado el excel, para que el archivo pueda ser abierto,
pero aparenta ser un EXE, algo particular coges tu archivo XLS, lo
conviertes a EXE , luego ese "EXE" se ejecuta y se encarga de abrir el
excel, y asi el excel este en nivel de seguridad alto, permite la apertura
del archivo sin anunciar la presencia de macros.

Entonces entregas ese "EXE", el cual no avisa la existencia de macros, el
programa para quitar contraseñas a los proyectos VBA, que conozco las quita
a los archicos XLS, no se si a los EXE, creo que no, puedes hacer las
pruebas y nos cuentas.

puedes bajar el archivo de esta direccion,

http://www.elistas.net/lista/excel_...StoEXE.zip

No dejes de contarnos el resultado,

Gabriel Raigosa
Medellín - Colombia

news://msnews.microsoft.com/
news://msnews.microsoft.com/microso...c.es.excel

"LUIS DANNY SALAS" escribió en el mensaje
news:
Que pena , le quiero sacar el jugo a este foro y a mis amigos que
responden.

Lo que he querido desde un principio es evitar que un usuario devuleva la
fecha del windows, o por lo menos persuadirlo de que lo haga.

estableci el siguiente codigo en un modulo:

Private Sub Auto_Open()
Application.ScreenUpdating = False
Sheets("Hoja1").Select
Range("A1").Select
Range("A1").Value = Date
Range("A1").Select
Selection.EntireRow.Insert
End sub

Este codigo hace que cada vez que se habra el archivo se vaya anotando la
fecha de manera que con el tiempo tendre en el archivo una gran columna
llena de fechas una en cada celda que si el usuario no ha modificado la
fecha en la barra de herramientas de windows sera una columna con fechas
progresivas cada vez mayores(o por lo menos iguales si se abre vairas
veces
en un dia) de arriba para abajo:


A1 7 de julio
A2 6 de julio
A3 5 de julio
A4 4 de Julio
A5 3 de julio

El asunto es que nesesito una macro o codigo que mande un mensaje en el
momento en que esa progresion se rompa , por que si mi usuario devuleve a
una fecha anterior el windows ya la secuencia de la columna se
interrumpira
y la fecha mas reciente sera menor que las anteriores


asi esta:

A1 7 de julio
A2 6 de julio
A3 5 de julio
A4 4 de Julio
A5 3 de julio

pero si el usuario baja la fecha y pone en el windows( en el cuadro date /
time properties de la barra de herramintas) que hoy sea la fecha de 3 de
julio al abriri el archivo la columna quedaria asi

A1 3 de julio
A2 7 de julio
A3 6 de julio
A4 5 de julio
A4 4 de Julio
A6 3 de julio

entonces ya no habria una secuencia correcta en la columna(no importa que
haya fechas iguales lo que no puede suceder es que alguna de las de arriba
sea menor que la anterior), aqui es donde quiero que aparaezaca un cuadro
diciendo algo asi " si sigues cambiando la fecha del sistema ,este
programa
dejara de funcionar y se borrara tu disco duro"

Ademas podria introducir una formula que haga variaciones en todo el libro
dejandolo inutilizable si se cumple la condicion:
"La columna de fechas no esta en un orden correcto", solo que no se como
expresar esto ni en una macro ni en una formula.

Trate de usar este:

Private Sub Worksheet_Calculate()
If [A1] < [A6] Then _
MsgBox "texto del mensaje"
End Sub


pero no se produce el mensaje cuando se pone una fecha menor al principio
de
la columna.
Tal vez alguien me pueda ayudar gracias.











Respuesta Responder a este mensaje
#4 Gabriel Raigosa
12/07/2006 - 19:02 | Informe spam
esta es la pagina del que se invento el programita,

http://cpap.com.br/orlando/

No deje de contarnos el resultado

Gabriel Raigosa
Medellín - Colombia

news://msnews.microsoft.com/
news://msnews.microsoft.com/microso...c.es.excel

"LUIS DANNY SALAS" escribió en el mensaje
news:
Que pena , le quiero sacar el jugo a este foro y a mis amigos que
responden.

Lo que he querido desde un principio es evitar que un usuario devuleva la
fecha del windows, o por lo menos persuadirlo de que lo haga.

estableci el siguiente codigo en un modulo:

Private Sub Auto_Open()
Application.ScreenUpdating = False
Sheets("Hoja1").Select
Range("A1").Select
Range("A1").Value = Date
Range("A1").Select
Selection.EntireRow.Insert
End sub

Este codigo hace que cada vez que se habra el archivo se vaya anotando la
fecha de manera que con el tiempo tendre en el archivo una gran columna
llena de fechas una en cada celda que si el usuario no ha modificado la
fecha en la barra de herramientas de windows sera una columna con fechas
progresivas cada vez mayores(o por lo menos iguales si se abre vairas
veces
en un dia) de arriba para abajo:


A1 7 de julio
A2 6 de julio
A3 5 de julio
A4 4 de Julio
A5 3 de julio

El asunto es que nesesito una macro o codigo que mande un mensaje en el
momento en que esa progresion se rompa , por que si mi usuario devuleve a
una fecha anterior el windows ya la secuencia de la columna se
interrumpira
y la fecha mas reciente sera menor que las anteriores


asi esta:

A1 7 de julio
A2 6 de julio
A3 5 de julio
A4 4 de Julio
A5 3 de julio

pero si el usuario baja la fecha y pone en el windows( en el cuadro date /
time properties de la barra de herramintas) que hoy sea la fecha de 3 de
julio al abriri el archivo la columna quedaria asi

A1 3 de julio
A2 7 de julio
A3 6 de julio
A4 5 de julio
A4 4 de Julio
A6 3 de julio

entonces ya no habria una secuencia correcta en la columna(no importa que
haya fechas iguales lo que no puede suceder es que alguna de las de arriba
sea menor que la anterior), aqui es donde quiero que aparaezaca un cuadro
diciendo algo asi " si sigues cambiando la fecha del sistema ,este
programa
dejara de funcionar y se borrara tu disco duro"

Ademas podria introducir una formula que haga variaciones en todo el libro
dejandolo inutilizable si se cumple la condicion:
"La columna de fechas no esta en un orden correcto", solo que no se como
expresar esto ni en una macro ni en una formula.

Trate de usar este:

Private Sub Worksheet_Calculate()
If [A1] < [A6] Then _
MsgBox "texto del mensaje"
End Sub


pero no se produce el mensaje cuando se pone una fecha menor al principio
de
la columna.
Tal vez alguien me pueda ayudar gracias.











Respuesta Responder a este mensaje
#5 LUIS DANNY SALAS
12/07/2006 - 20:02 | Informe spam
Me desepcione hace un tiempillo cuando me di cuenta de que esos programas
para quitar claves existian,lo cual no era de extrañar si existen jackers
que se meten a las computadoras del pentagono o la casa blanca como no
habria alguien que pudiera desbloquear mi humilde lilbro.
Sin embargo pienso que en esto de seguridad pasa como en nuestras casas o
con nuestros vehiculos, no hay nada completamente seguro contra el ampa,
pero por ejemplo a mi carro no solo le pongo alarma, si no multilock, le
desconecto las candelas,le pongo baston en el volante, etc, la cosa es que
entre mas dificil se les ponga , mejor, si se lo van a robar por lo menos
que les cueste.
En lo que a mi libro refiere , he considerado mucho la sugerencia de Hector
que me diera en un principio sobre el nivel y el tipo de usuarios que van a
usar o disponer de mi libro. ? Hasta donde es posible que mi libro caiga en
manos de un usuario avanzado como Hector?, y de ser asi hasta donde este
usuario avanzado tendria interes en mi libro, y de tener interes hasta donde
tendria el tiempo suficiente para esculcar y revolcar mi libro.
Pienso que si cayera en manos de un usuario que tenga interes en apropiarse
de mi trabajo intelectual probablemente no seria un usuario tan avanzado( la
mayoria de mis potenciales usuarios con costo puede poner en excel una
formula para sumar), y empesariamos por que tiene que comprar un programa
para desproteger hojas, otro para desbloquear el proyecto VBA y luego
ponerse a revisar formula por formula para ver como logre ciertas
caracteristicas,( lo cual no sera facil pues he puesto miles de formulas y
formatos condicionales que no producen ningun efecto y solo estan para
confundir , las celdas verdaderamente importantes estan bien escondidas y
disimuladas etc ) y eso llevaria mucho tiempo.
En todo caso hice lo siguiente puse una macro que a la hora de abrir el
libro pone una fecha en una celda determinada, si esta celda esta vacia las
Formulas de mi programa arrojan resultados indebidos por que les puse esa
condicion, de manera que el corriente usuario va a preferir al abrir el
libro autorizar la ejecucion de macros por que si no no sera funcional.
El libro que he creado no es la octava maravilla pero de hecho es
extremadamente util y no existe en el gremio algo asi por lo menos no con
las funciones que yo le he agregado por lo que se y segun he sondeado tendra
mucha aceptacion y lo que no quisiera es que facilmente un gracioso pueda
llevarse los creditos de mi trabajo.
Gracias por las valiosas aportaciones y se agradece cualquier otra ayuda y/o
sugernecia.

Atte : Luis Danny Salas.
Cartago, Costa Rica.


"LUIS DANNY SALAS" wrote in message
news:
Que pena , le quiero sacar el jugo a este foro y a mis amigos que


responden.

Lo que he querido desde un principio es evitar que un usuario devuleva la
fecha del windows, o por lo menos persuadirlo de que lo haga.

estableci el siguiente codigo en un modulo:

Private Sub Auto_Open()
Application.ScreenUpdating = False
Sheets("Hoja1").Select
Range("A1").Select
Range("A1").Value = Date
Range("A1").Select
Selection.EntireRow.Insert
End sub

Este codigo hace que cada vez que se habra el archivo se vaya anotando la
fecha de manera que con el tiempo tendre en el archivo una gran columna
llena de fechas una en cada celda que si el usuario no ha modificado la
fecha en la barra de herramientas de windows sera una columna con fechas
progresivas cada vez mayores(o por lo menos iguales si se abre vairas


veces
en un dia) de arriba para abajo:


A1 7 de julio
A2 6 de julio
A3 5 de julio
A4 4 de Julio
A5 3 de julio

El asunto es que nesesito una macro o codigo que mande un mensaje en el
momento en que esa progresion se rompa , por que si mi usuario devuleve a
una fecha anterior el windows ya la secuencia de la columna se


interrumpira
y la fecha mas reciente sera menor que las anteriores


asi esta:

A1 7 de julio
A2 6 de julio
A3 5 de julio
A4 4 de Julio
A5 3 de julio

pero si el usuario baja la fecha y pone en el windows( en el cuadro date /
time properties de la barra de herramintas) que hoy sea la fecha de 3 de
julio al abriri el archivo la columna quedaria asi

A1 3 de julio
A2 7 de julio
A3 6 de julio
A4 5 de julio
A4 4 de Julio
A6 3 de julio

entonces ya no habria una secuencia correcta en la columna(no importa que
haya fechas iguales lo que no puede suceder es que alguna de las de arriba
sea menor que la anterior), aqui es donde quiero que aparaezaca un cuadro
diciendo algo asi " si sigues cambiando la fecha del sistema ,este


programa
dejara de funcionar y se borrara tu disco duro"

Ademas podria introducir una formula que haga variaciones en todo el libro
dejandolo inutilizable si se cumple la condicion:
"La columna de fechas no esta en un orden correcto", solo que no se como
expresar esto ni en una macro ni en una formula.

Trate de usar este:

Private Sub Worksheet_Calculate()
If [A1] < [A6] Then _
MsgBox "texto del mensaje"
End Sub


pero no se produce el mensaje cuando se pone una fecha menor al principio


de
la columna.
Tal vez alguien me pueda ayudar gracias.











email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida