Una rutina para copiar
Publicado por
El profesor (1 intervención) el 17/04/2008 22:30:24
La limitante no es de VB, sino de la instrucción FileCopy. pero aquí les paso el código de un procedimiento que hice, para copiar archivos, se le envía como parámetros el nombre del archivo origen y el archivo destino:
Sub Copia(Origen As String, Destino As String)
Dim TAM As Long, Bufer As String, Leidos As Long
Dim lnTamOrig As Long, lnAcumula As Long
Dim inH1 As Integer, inH2 As Integer
On Local Error GoTo Avisa
lnAcumula = 0
inH1 = FreeFile
Open Origen For Binary As #inH1
TAM = LOF(inH1)
lnTamOrig = TAM
inH2 = FreeFile
Open Destino For Output As #inH2
Close #inH2
Open Destino For Binary As #inH2
While TAM > 0
DoEvents
If TAM > 15000 Then
Leidos = 15000
Else
Leidos = TAM
End If
Bufer = Space(Leidos)
Get #inH1, , Bufer
Put #inH2, , Bufer
TAM = TAM - Leidos
Wend
Salir:
Close inH1
Close inH2
Exit Sub
Avisa:
MsgBox "Error al copiar " & Origen & Chr(13) & "en " & Destino & Chr(13) & "No. de error " & _
Err.Number & ", " & Err.Description, vbCritical, "ERROR"
If Err.Number = 70 Or Err.Number = 75 Then Resume Salir ' Error de Permiso denegado o de Acceso a ruta.
Resume Next
End Sub