SoloCodigo
		Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado 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!
- 
				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.
- 
				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: