proteccion de hoja con imagen, derechos de autor.

10/03/2005 - 21:41 por Isaac Garcia | Informe spam
Estimados amigos, necesito su ayuda; he elaborado una hoja de captura de
datos donde los usuarios capturan informacion que despues es usada para
reportar informes, estos informes llevan una imagen jpg, como membrete, y lo
que he notado es que existen usuarios malintencionados que desprotejen la
hoja y borran el logotipo (imagen jpg).

Especificamente la pregunta es; la hoja funciona con muchas macros, puedo
poner una sentencia donde antes de ejecutar la macro verifique si se
encuentra la imagen, se que excel le asigna un nombre constante a cada
imagen insertada en la hoja, y si sigue alli, se ejecute la macro, si fue
borrada, pues que no se ejecute. Espero me haya explicado bien. Gracias
 

Leer las respuestas

#1 KL
10/03/2005 - 23:23 | Informe spam
Hola Isaac,

Poder, se puede. El problema esta en que grado de proteccion exiges. Si como
has dicho hay usuarios malintencionados q encima saben desproteger las hojas
ninguna proteccion disponible en el Office es suficiente. Existen macros en
libre circulacion en la web q desprotegen hojas y estructura del libro en
cuestion de segundos. Asimismo el mercado esta saturado por software
gratuito o realmente baratisimo q es capaz de romper la proteccion de
apertura de archivos con casi la misma facilidad. La proteccion en el Office
por lo tanto esta para evitar los posibles errores q se pueden cometer por
el usuario al trabajar con el fichero, pero no esta capacitada para aguantar
los asaltos de los infractores de los derechos de autor :-((

Dicho lo anterior, abajo te pongo los ejemplos de codigo q podrias usar si a
pesar de todo sigues con el proposito.

puedo poner una sentencia donde antes de ejecutar la macro verifique si se
encuentra la imagen,



Podrias probar este conjunto de instrucciones donde MiMacro es el nombre de
tu macro q se tiene q cancelar o no en funcion del resultado de la busqueda
del logo:

On Error Resume Next
Set x = ActiveSheet.Pictures("MiLogo")
If Err.Number <> 0 Then Exit Sub
Call MiMacro


se que excel le asigna un nombre constante a cada imagen insertada en la
hoja



Puedes asignarle el nombre a la imagen tanto al introducirla:

With ActiveSheet.Shapes.AddPicture("C:\Documents and Settings\" & _
"All Users\Documents\My Pictures\Sample Pictures\Sunset.jpg", _
True, True, 100, 100, 100, 100)
.Name = "MiLogo"
End With

como p.ej. seleccionando la imagen existente y corriendo la siguiente
instruccion:

Selection.Name = "MiLogo"

Tambien podrias encontrar util el siguiente enlace:
http://www.sistemaslym.net/vba/excel/exarc1.html

Saludos,
KL

Preguntas similares