2009-07-15 9 views
5

Utilizzando VB6, come posso copiare un file da un altro computer sul mio computer quando il file viene aperto da un'altra persona?Come si copia un file aperto in VB6?

+0

Vuoi dire * * mentre viene aperto da un'altra persona? –

+0

@Ic - sì. Aperto da un'altra persona – Gopal

risposta

7

Se si tenta di utilizzare l'istruzione FileCopy su un file attualmente aperto, si verifica un errore. Tuttavia, la funzione CopyFile di FileSystemObject non ha alcun problema con esso, quindi usalo. Innanzitutto, è necessario aggiungere un riferimento a Microsoft Scripting Runtime (nel menu Progetto-> Riferimenti ...). Poi si può fare questo:

Dim fso As New FileSystemObject 

fso.CopyFile "\\someOtherComputer\share\foo.mdb", "C:\foo.mdb" 
3

È inoltre possibile utilizzare l'API di Windows

Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" _ 
(ByVal lpExistingFileName As String, ByVal lpNewFileName As String, _ 
ByVal bFailIfExists As Long) As Long 



Public Function CopyFileA(OldFileName As String, NewFileName As String) As Boolean 
    On Error Resume Next 

    If CopyFile(OldFileName, NewFileName, False) <> 1 Then 
     MsgBox "Error copying file", vbExclamation, 
    Else 
     CopyFileA = True 
    End If 
End Function 
+0

Sì, ma è molto più semplice utilizzando FileSystemObject e, una volta iniziato a utilizzarlo, vedrai che ci sono anche molti altri metodi di file system utili su quell'oggetto .... – awe

Problemi correlati