Archivo Misterioso

26/05/2006 - 16:57 por Hernandez, Roberto | Informe spam
Saludos al foro.
Quisiera ver si alguien puede ayudarme a saber la causa de lo que me pasa.
Tengo una 'aplicación' que sirve para nuestros gerentes y jefes de
departamento puedan consultar información de nuestros empleados.
Tiene implementados algunos 'métodos' de control de acceso y restricciones
de seguridad que aprovechan los eventos de VBA,
de modo que no se pueden guardar cambios, no se pueden guardar copias, ni
copiar 'a mano' en otro directorio.
Está en un directorio de red, y funciona Ok.
El problema es que por sí solo graba en directorios diferentes (aleatorios,
según lo he descubierto), archivos con nombres tales como
C07C1100, etc., que son copias del archivo original.
No sé si esté utilizando incorrectamente algún evento que lo provoque.

Agradezco de antemano su ayuda al respecto.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
26/05/2006 - 20:26 | Informe spam
hola, Roberto !

... una 'aplicación'... para nuestros gerentes y jefes de departamento puedan consultar información de nuestros empleados.
Tiene implementados algunos 'métodos' de control de acceso y restricciones de seguridad que aprovechan los eventos de VBA
de modo que no se pueden guardar cambios, no se pueden guardar copias, ni copiar 'a mano' en otro directorio.
Esta en un directorio de red, y funciona Ok.
El problema es que por si solo graba en directorios diferentes (aleatorios, segun lo he descubierto)
archivos con nombres tales como C07C1100, etc., que son copias del archivo original.
No se si este utilizando incorrectamente algun evento que lo provoque.



[hasta donde se]... excel [al igual que otras muchas aplicaciones] ->usa archivos temporales<- [p.e.]
-> desde el momento mismo de abrir un archivo
-> al momento de 'salvar cambios' en un archivo
-> al 'generar' copias de respaldo
-> [a partir de xp] para 'construir' informacion de recuperacion [en caso de algun colapso]
-> y muy probablemente, durante el curso de otros 'eventos'...

[p.e.] el proceso que aborda excel para guardar es:
1) guarda una copia 'termporal' con un nombre 'aleatorio'
2) [si 'tiene exito'] BORRA el 'original' y renombra el temporal
->'aqui es donde...' [p.e.] un anti-virus o un 'cambio de mapeo' pudiera 'interferir' en el proceso<- -?-

[la 'buena noticia'... es que] dichos archivos temporales son eliminados al cerrar el archivo 'en proceso'
-> a menos que no sean eliminados 'por alguna razon'... -?-
archvos en red ? antivirus ? permisos/derechos ? tiempo de des/conexion ? otros ?

comentas [si hubiera] algun detalle adicional ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Hernandez, Roberto
26/05/2006 - 23:38 | Informe spam
Gracias por tu atención Héctor.
Efectivamente el archivo está en un directorio de red, y es abierto por
varios usuarios (a veces hasta + de 50) a la vez.
Quizás sea en alguna de esas 'transacciones' que se crea el temporal y
después no se elimina.
De hecho no crea ningún conflicto, porque el archivo 'copia' al 'sentirse'
en otro directorio, no se abre.

Abuso de tu sabiduría.
Existe algún método o evento que me permita 'eliminar' el libro activo si no
cumple cierta condición (en este caso la ubicación)?
Sé como detectar que no se está en un directorio válido pero, ¿cómo eliminar
el libro activo...?

Gracias otra vez.
"Héctor Miguel" escribió en el mensaje
news:
hola, Roberto !

... una 'aplicación'... para nuestros gerentes y jefes de departamento
puedan consultar información de nuestros empleados.
Tiene implementados algunos 'métodos' de control de acceso y
restricciones de seguridad que aprovechan los eventos de VBA
de modo que no se pueden guardar cambios, no se pueden guardar copias, ni
copiar 'a mano' en otro directorio.
Esta en un directorio de red, y funciona Ok.
El problema es que por si solo graba en directorios diferentes
(aleatorios, segun lo he descubierto)
archivos con nombres tales como C07C1100, etc., que son copias del
archivo original.
No se si este utilizando incorrectamente algun evento que lo provoque.



[hasta donde se]... excel [al igual que otras muchas aplicaciones] ->usa
archivos temporales<- [p.e.]
-> desde el momento mismo de abrir un archivo
-> al momento de 'salvar cambios' en un archivo
-> al 'generar' copias de respaldo
-> [a partir de xp] para 'construir' informacion de recuperacion [en caso
de algun colapso]
-> y muy probablemente, durante el curso de otros 'eventos'...

[p.e.] el proceso que aborda excel para guardar es:
1) guarda una copia 'termporal' con un nombre 'aleatorio'
2) [si 'tiene exito'] BORRA el 'original' y renombra el temporal
->'aqui es donde...' [p.e.] un anti-virus o un 'cambio de mapeo'
pudiera 'interferir' en el proceso<- -?-

[la 'buena noticia'... es que] dichos archivos temporales son eliminados
al cerrar el archivo 'en proceso'
-> a menos que no sean eliminados 'por alguna razon'... -?-
archvos en red ? antivirus ? permisos/derechos ? tiempo de
des/conexion ? otros ?

comentas [si hubiera] algun detalle adicional ?
saludos,
hector.

Respuesta Responder a este mensaje
#3 Héctor Miguel
27/05/2006 - 03:52 | Informe spam
hola, Roberto !

Existe algun metodo o evento que me permita 'eliminar' el libro activo si no cumple cierta condicion (en este caso la ubicacion)?
Se como detectar que no se esta en un directorio valido pero, como eliminar el libro activo...?



prueba el siguiente codigo en una copia de algun archivo
-> es probable que no vuelvas a ver 'ese' archvo... a menos que uses herramientas de recuperacion :))

Sub Eliminar_este_libro()
Application.DisplayAlerts = False
ThisWorkbook.ChangeFileAccess xlReadOnly
Kill ThisWorkbook.FullName
ThisWorkbook.Close False
End Sub

saludos,
hector.
Respuesta Responder a este mensaje
#4 Hernandez, Roberto
27/05/2006 - 23:16 | Informe spam
Perfecto!
Ahora las copias no autorizadas del archivo no sólo no funcionarán, sino que
se desintegrarán... :)
Como siempre excelente tu aportación.
Gracias.


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

Existe algun metodo o evento que me permita 'eliminar' el libro activo si
no cumple cierta condicion (en este caso la ubicacion)?
Se como detectar que no se esta en un directorio valido pero, como
eliminar el libro activo...?



prueba el siguiente codigo en una copia de algun archivo
-> es probable que no vuelvas a ver 'ese' archvo... a menos que uses
herramientas de recuperacion :))

Sub Eliminar_este_libro()
Application.DisplayAlerts = False
ThisWorkbook.ChangeFileAccess xlReadOnly
Kill ThisWorkbook.FullName
ThisWorkbook.Close False
End Sub

saludos,
hector.

Respuesta Responder a este mensaje
#5 Héctor Miguel
28/05/2006 - 05:01 | Informe spam
hola, Roberto !

Ahora las copias no autorizadas del archivo no solo no funcionaran, sino que se desintegraran... :)



[ahora]... a ver si no te ocasiono un -ligero- 'quebranto de cabeza'... :D
-> prueba a abrir un archivo 'de esos' -> bajo condiciones en que deberia de eliminarse [pero]...
a) no permitiendo el uso de las macros cuando lo abres o...
b) manteniendo presionada la tecla {mayus} mientras se abre Y SI autorizas el uso de las macros -?-

[probablemente] el libro quedara 'desamparado' del codigo de 'auto-eliminacion' -?-
[a menos que ya lo tengas considerado y solucionado]...

comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida