file6

 

Copy File With Windows Animation


Copy File With Windows Animation

The example below will copy a file, exacly like if you've done so in
Windows. You will see Windows Copy animation, and if necessary, it will
ask the user to confirm file overwrite.


Preparations

Add 1 Command Button to your form.


Module Code

Option Explicit

Private Type SHFILEOPSTRUCT
hWnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Boolean
hNameMappings As Long
lpszProgressTitle As String
End Type

Declare Function SHFileOperation Lib "shell32.dll" Alias
"SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long

Private Const FO_COPY = &H2
Private Const FOF_ALLOWUNDO = &H40

Public Sub SHCopyFile(ByVal from_file As String, ByVal to_file As String)
Dim sh_op As SHFILEOPSTRUCT

With sh_op
.hWnd = 0
.wFunc = FO_COPY
.pFrom = from_file & vbNullChar & vbNullChar
.pTo = to_file & vbNullChar & vbNullChar
.fFlags = FOF_ALLOWUNDO
End With

SHFileOperation sh_op
End Sub


Form Code

Private Sub Command1_Click()
'the following line will copy the file "d:\file.zip" to
"d:\temp\file2.zip"
SHCopyFile "d:\file.zip", "d:\temp\file2.zip"
End Sub