2009-07-15 11 views
5

À l'aide de VB6, comment copier un fichier d'un autre ordinateur sur mon ordinateur lorsque le fichier est ouvert par une autre personne?Comment copier un fichier ouvert dans VB6?

+0

Voulez-vous dire * tout * est ouvert par une autre personne? –

+0

@Ic - oui. Ouvert par une autre personne – Gopal

Répondre

7

Si vous essayez d'utiliser l'instruction FileCopy sur un fichier actuellement ouvert, une erreur se produit. Toutefois, la fonction CopyFile de FileSystemObject ne pose aucun problème, utilisez-la à la place. Tout d'abord, vous devrez ajouter une référence à Microsoft Scripting Runtime (dans le menu Projet-> Références ...). Ensuite, vous pouvez le faire:

Dim fso As New FileSystemObject 

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

Vous pouvez également utiliser l'API 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

Oui, mais il est beaucoup plus facile d'utiliser FileSystemObject, et une fois que vous avez commencé à l'utiliser, vous verrez qu'il y a aussi beaucoup d'autres méthodes de système de fichiers utiles sur cet objet .... – awe

Questions connexes