Sincronizacion para eventos entre archivos mediante archivos auxiliares
publicado
En el post 10 de este hilo, teneis los dos archivos con la solucion al problema que se plantea abajo y ademas un video donde se explica como han de montarse los archivos para que funcionen correctamente a traves de la red.
Hola, Hacia tiempo que no me encontraba con un problema que no se ni por donde cogerlo.
- Tengo un libro que se guarda cada 15 segundos con "thisworkbook.save", el libro ejecuta una macro infinita y debe estár siempre funcionando.
- El libro está compartido en red, dicho libro es copiado desde otros equipos cada X segundos a traves de la red.
Todo el montaje funciona aparentemente bien y puede estár horas funcionando como debería, pero cada X horas (aleatorio), la macro del libro se detiene por un problema de "Error al guardar".
El error no es error como tal, sino que abre una ventanita de explorer de esas que dice "Donde desea guardar el archivo" y le diga donde le diga no me deja guardarlo. Incluso parando la macro e intentando guardarlo manual ya no me deja guardarlo.
En el directorio donde está el archivo, aparece ademas un archivo sin extension con un nombre hexadecimal tipo "D28C1000", investigando un poco me he dado cuenta de que dicho archivo se crea cada vez que se guarda un libro e inmediatamente despues es eliminado. En el caso de error que ocurre 1 vez cada 2000 a 5000 guardados, el archivito "D28C1000" no se elimina, en lugar de eso, aparecen 2 archivos de excel abiertos, uno es el original y otro es el clon con nombre raro "D28C1000". La unica manera de que la macro vuelva a funcionar es cerrando el libro sin guardar cambios (ya que no te deja), luego abrir de nuevo y vuelta a la cuenta atras del inesperado fallo :S
Esta es de las pocas veces que estoy totalmente perdido en la captura de un error, generalmente se por donde buscar informacion al respecto pero en este caso ni idea. Cualquier ayuda u orientacion seria muy agradecida.
Saludos
--- Mensaje unido automáticamente ---
Siguiendo con la investigacion, parece que aqui dejan algo claro el foco del problema:
When you save an existing file in Excel' date=' Excel creates a temporary file in the destination folder that you specify in the Save As dialog box. The temporary file contains the whole contents of your workbook. If Excel successfully saves the temporary file, the temporary file is renamed with the file name you specify in the Save As dialog box.
This process of saving files makes sure that the original file is not damaged. The original file is useful if the save operation is not successful.
When Excel saves a file, Excel follow these steps:
Excel creates a randomly named temporary file (for example, Cedd4100 with no file name extension) in the destination folder that you specified in the Save As dialog box. The whole workbook is written to the temporary file.
If changes are being saved to an existing file, Excel deletes the original file.
Excel renames the temporary file. Excel gives the temporary file the file name that you specified (such as Book1.xls) in the Save As dialog box.
Important Points About Saving
After Excel creates and saves the temporary file, all the changes are written to the temporary file.
If Excel cannot delete the existing file, you receive an error message. The original file and the temporary file both remain in the destination folder.
If Excel can delete the existing file, but Excel cannot rename the temporary file, you receive an error message. Only the temporary file remains in the destination folder.
If Excel saves a new file for the first time, Excel does not create a temporary file. Excel saves the file with the file name that you specified in the Save As dialog box.[/quote']
Voy a seguir haciendo pruebas con un archivo excel de gran tamaño 40 megas que tarda aproximadamente 20 segundos en guardarse en donde puede verse claramente la existencia del archivo temporal antes de que sea eliminado.
Iré poniendo por aquí los resultados. Por ahora ya voy barajando una idea que consistiría en una comunicacion de ambos libros preguntandose mutuamente sobre su disponibilidad, pero aun quedan pruebas.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
En el post 10 de este hilo, teneis los dos archivos con la solucion al problema que se plantea abajo y ademas un video donde se explica como han de montarse los archivos para que funcionen correctamente a traves de la red.
Ir al POST 10
Hola, Hacia tiempo que no me encontraba con un problema que no se ni por donde cogerlo.
- Tengo un libro que se guarda cada 15 segundos con "thisworkbook.save", el libro ejecuta una macro infinita y debe estár siempre funcionando.
- El libro está compartido en red, dicho libro es copiado desde otros equipos cada X segundos a traves de la red.
Todo el montaje funciona aparentemente bien y puede estár horas funcionando como debería, pero cada X horas (aleatorio), la macro del libro se detiene por un problema de "Error al guardar".
El error no es error como tal, sino que abre una ventanita de explorer de esas que dice "Donde desea guardar el archivo" y le diga donde le diga no me deja guardarlo. Incluso parando la macro e intentando guardarlo manual ya no me deja guardarlo.
En el directorio donde está el archivo, aparece ademas un archivo sin extension con un nombre hexadecimal tipo "D28C1000", investigando un poco me he dado cuenta de que dicho archivo se crea cada vez que se guarda un libro e inmediatamente despues es eliminado. En el caso de error que ocurre 1 vez cada 2000 a 5000 guardados, el archivito "D28C1000" no se elimina, en lugar de eso, aparecen 2 archivos de excel abiertos, uno es el original y otro es el clon con nombre raro "D28C1000". La unica manera de que la macro vuelva a funcionar es cerrando el libro sin guardar cambios (ya que no te deja), luego abrir de nuevo y vuelta a la cuenta atras del inesperado fallo :S
Esta es de las pocas veces que estoy totalmente perdido en la captura de un error, generalmente se por donde buscar informacion al respecto pero en este caso ni idea. Cualquier ayuda u orientacion seria muy agradecida.
Saludos
--- Mensaje unido automáticamente ---
Siguiendo con la investigacion, parece que aqui dejan algo claro el foco del problema:
http://forums.techarena.in/windows-software/1376796.htm
Cito: