Tipo alarma

26/05/2006 - 22:07 por JAVIER | Informe spam
Hola que tal amigos , tengo un archivo el cual todos los dias actualizo en
algunas ocasiones actualizo de nuevo en el mismo dia, quisiera hacer algo
para que cuando lo abran terceras personas de sus maquina sya que para hacer
eso primero tienen que entrar ala red y copiarlo a sus pcs pero en ocasiones
se les olvida copiar al dia siguiente ahi en ese momento en autoopen me
gustaria asignar una macro que revise el origen del archivo en este caso
seria por nombre de la maquina y el directorio para que revise la fecha de
modificacion si esta es mayor a la que actualmente estan abriendo en su pc
enviar un mensaje que necesita actualizarlo, tambien podemos si lo quiere
actualizar en este momento si o no? si es si pues abrirlo desde el origen y
remplazarlo en automatico...
Como ven alguien que me pueda ayudar?
Saludos

Preguntas similare

Leer las respuestas

#1 KL
27/05/2006 - 00:02 | Informe spam
Hola Javier,

Has explicado muy claramente el concepto y el procedimiento que quieres establecer. Ahora falta es que facilites datos concretos de lo que tienes: diseno de los archivos, tipo y ejemplos de datos, rangos, rutas nombres de archivos/hojas concretos etc, etc. Entre otras cosas a que te refieres bajo "actualizar", que y como piensas hacerlo, etc. Cuanta mas informacion - mejor.

Saludos,
KL


"JAVIER" wrote in message news:
Hola que tal amigos , tengo un archivo el cual todos los dias actualizo en
algunas ocasiones actualizo de nuevo en el mismo dia, quisiera hacer algo
para que cuando lo abran terceras personas de sus maquina sya que para hacer
eso primero tienen que entrar ala red y copiarlo a sus pcs pero en ocasiones
se les olvida copiar al dia siguiente ahi en ese momento en autoopen me
gustaria asignar una macro que revise el origen del archivo en este caso
seria por nombre de la maquina y el directorio para que revise la fecha de
modificacion si esta es mayor a la que actualmente estan abriendo en su pc
enviar un mensaje que necesita actualizarlo, tambien podemos si lo quiere
actualizar en este momento si o no? si es si pues abrirlo desde el origen y
remplazarlo en automatico...
Como ven alguien que me pueda ayudar?
Saludos

Respuesta Responder a este mensaje
#2 JAVIER
27/05/2006 - 01:39 | Informe spam
Antes que nada quiero agradecer tu respuesta, y a continuación te detallo un
poco mas la explicación:

Nombre del equipo donde se guarda el archivo: "Equipo1"

Equipos disponibles que van a copiar a Equipo1 por medio de red de forma
manual:
Equipo2, Equipo3, Equipo4, etc...

El archivo es un libro de Excel la modificacion la identificariamos de la
ultima fecha que se modifico o grabo en Equipo1.

\\Equipo1\Reporting\Analisis.xls (Se Modifico Hoy a las 12 del dia)

Equipo2 tiene una copia que hizo en la mañana a las 7 del dia.

\\Equipo2\Mis Documentos\Analisis.xls -el directorio puede cambiar
dependiendo el usuario de cada equipo donde guarde las aplicaciones.

aunque si es mas facil se maneje en un mismo directorio pues me encargo de
que todos tengan el mismo directorio para hacer funcionarlo.

Cuando menciono actualizar me refiero a que si los usuarios 2, 3 ó 4
mantienen una copia en sus equipos, la cual es de un tiempo atras al
original, es donde trato de hacerlo saber mediante un msg y/ó opcion para
remplazarlo abierto aunque pierda los cambios del viejo, ya que primero
advierte el mensaje si desea abrir el mas nuevo.

Tengo un ejemplo minimo pero no lo logro depurar quizas te pueda servir para
que me apoyes en realizarlo:
Sub ReviseFechas()

Const strcArch1 = "\\Equipo\Libro1.xls"
Const strcArch2 = "\\Equipo\Libro1.xls"

If FileDateTime(strcArch1) > FileDateTime(strcArch2) Then

MsgBox "Ya esta el archivo actualizado en su Origen, Favor de copiarlo de
nuevo! " & strcArch1
End If

End Sub


"KL" escribió:

Hola Javier,

Has explicado muy claramente el concepto y el procedimiento que quieres establecer. Ahora falta es que facilites datos concretos de lo que tienes: diseno de los archivos, tipo y ejemplos de datos, rangos, rutas nombres de archivos/hojas concretos etc, etc. Entre otras cosas a que te refieres bajo "actualizar", que y como piensas hacerlo, etc. Cuanta mas informacion - mejor.

Saludos,
KL


"JAVIER" wrote in message news:
> Hola que tal amigos , tengo un archivo el cual todos los dias actualizo en
> algunas ocasiones actualizo de nuevo en el mismo dia, quisiera hacer algo
> para que cuando lo abran terceras personas de sus maquina sya que para hacer
> eso primero tienen que entrar ala red y copiarlo a sus pcs pero en ocasiones
> se les olvida copiar al dia siguiente ahi en ese momento en autoopen me
> gustaria asignar una macro que revise el origen del archivo en este caso
> seria por nombre de la maquina y el directorio para que revise la fecha de
> modificacion si esta es mayor a la que actualmente estan abriendo en su pc
> enviar un mensaje que necesita actualizarlo, tambien podemos si lo quiere
> actualizar en este momento si o no? si es si pues abrirlo desde el origen y
> remplazarlo en automatico...
> Como ven alguien que me pueda ayudar?
> Saludos
>

Respuesta Responder a este mensaje
#3 Héctor Miguel
28/05/2006 - 06:52 | Informe spam
hola, chicos !

1) [hasta donde se]... cuando excel abre un archivo, modifica fecha/hora al momento de la apertura [o siguiente grabacion 'real']
-> si sales SIN guardar 'los cambios' en el archivo [si los hubiera]... le regresa sus fecha/hora 'originales'

2) [por lo anterior]... si 'pretendes' comparar fechas de un archivo 'recien abierto' versus otro como fuente 'orignal'...
[obviamente]... NUNCA te encontrarias con que el archvo -> 'recien abierto' pudiera ser 'anterior' que su 'original'
ya sea por la propiedad .BuiltinDocumentProperties("Last Save Time") [o la numero 12 en su indice]...
o utilizando otros metodos y propiedades, como: FileDateTime("Archivo") o desde un FileSystemObject, etc. etc. etc.
donde [por cualquier metodo] le fecha/hora devueltos... NO ES 'necesariamente' la fecha/hora de la 'ultima grabacion'

3) [luego entonces]... creo que una forma +/- 'segura' de comparar fechas entre 'origen' y 'destino' va a ser estando ambos cerrados ;)
[para lo cual] habria que utilizar un libro 'puente' que se encargue [solamente] de seguir la siguiente secuencia de acciones...
a) comparar las fechas de origen y destino estando ambos libros cerrados
b) copiar origen en la ubicacion de destino [cuando este ultimo sea de una fecha anterior]
usando [de preferencia] una instruccion del tipo: -> FileCopy "Origen", "Destino"
donde "Destino" sera INVARIABLEMENTE 'reemplazado' <= OJO
c) abrir el archivo de destino [ya estando seguros de que no es una version anterior]
d) auto-cerrarse [quedando como activo el libro de destino 'apropiado'] ;)

4) [creo que] lo unico que quedaria por 'prevenir'... es el caso en que el 'origen' [original] este abierto por cuestiones de actualizacion -?-
pudiendo utilizar una funcion que determine si un archivo esta abierto [incuyendo archivos en red] +/- como la siguiente:
Function EsLibroAbierto(Nombre As String) As Boolean
Dim Archivo As Byte
Archivo = FreeFile
On Error Resume Next
Open Nombre For Binary Access Read Write Lock Read Write As #Archivo
Close #Archivo
If Err.Number = 0 Then Exit Function
EsLibroAbierto = True
Err.Clear
End Function

5) la funcion anterior pudieras usarla en el evento open -> del libro puente +/- como sigue:
Private Sub Workbook_Open()
If EsLibroAbierto("Origen") Then _
MsgBox Origen & " esta siendo actualizado. Favor de intentar mas tarde.": Exit Sub
' aqui comparas las fechas...
' aqui copias origen en destino [de ser necesario]
' aqui abres destino
' aqui auto-cierras ThisWorkbook
End Sub

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

__ consultas anteriores __
JAVIER escribio en el mensaje ...
... un archivo... todos los dias actualizo en... ocasiones... de nuevo en el mismo dia
... que cuando lo abran terceras personas... que... primero tienen que entrar a la red y copiarlo a sus pcs
... me gustaria... una macro que revise el origen del archivo en este caso seria por nombre de la maquina y el directorio
... que revise la fecha de modificacion si... es mayor a la que... estan abriendo en su pc... un mensaje que necesita actualizarlo
... si lo quiere actualizar en este momento si o no? si es si pues abrirlo desde el origen y remplazarlo en automatico...

JAVIER escribio en el mensaje ...
Nombre del equipo donde se guarda el archivo: "Equipo1"
Equipos disponibles que van a copiar a Equipo1 por medio de red de forma manual: Equipo2, Equipo3, Equipo4, etc...
El archivo es un libro de Excel la modificacion la identificariamos de la ultima fecha que se modifico o grabo en Equipo1.
\\Equipo1\Reporting\Analisis.xls (Se Modifico Hoy a las 12 del dia)
Equipo2 tiene una copia que hizo en la ma#ana a las 7 del dia.
\\Equipo2\Mis Documentos\Analisis.xls -el directorio puede cambiar dependiendo el usuario de cada equipo...
aunque si es mas facil se maneje en un mismo directorio pues me encargo de que todos tengan el mismo directorio...
Cuando menciono actualizar me refiero a que si los usuarios 2, 3 o 4 mantienen una copia en sus equipos
la cual es de un tiempo atras al original... donde trato de hacerlo saber... para remplazarlo...
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida