View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Copying a file with VBA (or with a SHELL command)

You would need to create a reference to the Microsoft Scripting Runtime in
the VBE under tools references. If you don't want to do that, you can use
late binding

Sub TestCopy()
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "C:\test.sys", "D:\My Folder\"

End Sub

Make sure you include the last "\" in the destination.

this assume you have the scripting runtime installed - which is highly
probable.

so the original should have been

Dim FSO as FileSystemObject
set FSO = new FileSystemObject
FSO.CopyFile "C:\test.sys", "D:\My Folder\"

--
Regards,
Tom Ogilvy
"Tom Ogilvy" wrote in message
...
Here is the answer I provided to your posting of this question on 12 Sep:

Dim FSO as FileSystemObject
set FSO = new FileSystemObject

FSO.CopyFile "C:\test.sys", "D:\My Folder"

--
Regards,
Tom Ogilvy

------------------------
Here is an answer from Kent Fickle:

Would something like this do it?

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

Sub test()
CopyFile "C:\Temp\test.txt", "C:\Temp\test2.txt", 0&
End Sub

--------------

--
Regards,
Tom Ogilvy

"Franck V." wrote in message
...
Hi,

I'm looking for a solution to make a copy of a file already open.
Function FILECOPY doesn't work because this file is already open...
The file I want to copy is a SYS file so it's impossible to open it in

Excel
and save it as...

Would anyone have an idea about it ? If yes, could you please write me a
line of code as example.

Thanks,

Franck V.