2009-07-15 9 views
5

VB6を使用すると、ファイルを別の人が開いたときに、別のコンピュータから自分のコンピュータにファイルをコピーするにはどうすればよいですか?VB6で開いているファイルをコピーするにはどうしたらいいですか?

+0

のWindows APIを使用することができますが*、それが他の人によって開かれている間、あなたは*を意味するのですか? –

+0

@Ic - はい。他人によって開かれました – Gopal

答えて

7

現在開いているファイルでFileCopyステートメントを使用しようとすると、エラーが発生します。ただし、FileSystemObjectのCopyFile関数に問題はないので、代わりに使用してください。まず、Microsoft Scripting Runtimeへの参照を追加する必要があります(Project-> References ...メニューにあります)。そして、あなたがこれを行うことができます:

Dim fso As New FileSystemObject 

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

あなたはまた、

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

はい、FileSystemObjectを使用するほうがはるかに簡単です。一度使用し始めると、そのオブジェクトに他にも多くの便利なファイルシステムメソッドがあることがわかります.... – awe

関連する問題