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?
risposta
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"
È 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
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
Vuoi dire * * mentre viene aperto da un'altra persona? –
@Ic - sì. Aperto da un'altra persona – Gopal