SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: splinter1 en Jueves 28 de Agosto de 2003, 10:39

Título: Re: ayuda please!!! Es posible copiar un fichero que en ese
Publicado por: splinter1 en Jueves 28 de Agosto de 2003, 10:39
Es que necesito que a cierta hora un fichero se copie a otra carpeta, pero en ese momento estara siendo utilizado por el word (office). No hay alguna forma de copiar ese fichero sin que haya que cerrar el programa WORD? ya que con el tradicional FILECOPY me dice que no se puede (claro, lo esta utilizando otro programa)
GRACIAS!
Título: Re: ayuda please!!! Es posible copiar un fichero que en ese
Publicado por: Brroz en Jueves 28 de Agosto de 2003, 11:02
Usa este código a ver que tal.

 Private Function Copiar(Byval Origen as string, Byval Destino as string) as Boolean
Dim intO as integer, intD as integer, byt1() as Byte
On Error Goto Error_Copiar
intO = FreeFile
Open Origen For Binary as #intO
' En el caso de que el fichero no fuera muy grande.
Redim byt1(1 to Lof(intO))
'Si el fichero es demasiado grande, deberás implementar un buffer dimensionando 'byt1' al tamaño que tu veas y haciendo un bucle hasta que llegues a la longitud del fichero.
intD = FreeFile
Open Destino For Binary as #intD
Get #intO,,byt1
Put #intD,,byt1
Copiar = True
Salir_Copiar:
On Error resume next
Close #intO
Close #intD
Exit Function
Error_Copiar:
MsgBox Err.Description
Resume Salir_Copiar
End Function

Suerte.
Título: ayuda please!!! Es posible copiar un fichero que en ese mome
Publicado por: splinter1 en Jueves 28 de Agosto de 2003, 16:17
Muchas gracias por el código. Voy a aplicarlo a mi programa a ver como funciona.
Una solucion alternativa que parece que funciona tambien es ejecutando un XCOPY desde un SHELL. Al parecer a traves de DOS no parece afectar que el fichero este abierto. Lo copia y no se queja!!!:jumpie: