Копирование, удаление, переименование, перемещение, создание папок и файлов
Удаление файла
Kill "C:\Temp\TestFile.txt"
Копирование файла
FileCopy "Исходный Путь", "Путь Назначения"
FileSystemObject.CopyFile "c:\mydocuments\letters\*.doc", "c:\tempfolder\"
Перемещение файла
FileSystemObject.MoveFile "c:\mydocuments\letters\*.doc", "c:\tempfolder\"
Изменение имени файла или папки (перемещение)
Name "Исходный Путь" As "Новый Путь"
Создание папки (только по одной папке за раз)
MkDir "C:\Новая папка"
Удаление паки (только без файлов)
RmDir "C:\Новая папка"
Удаление папки (со всем содержимым)
Dim obj As FileSystemObject ' (C:\Windows\System32\scrrun.dll) ' Или можно обьявить как OBJECT: Dim obj As Object - должно работать! Set obj = New FileSystemObject obj.DeleteFolder "D:\TEMP", True
Public Sub esFilesMove(sSrsDir As String, sDstDir As String, Optional sMask As String = "*.*") 'Перемещение файлов из одной папки в другую по маске (названию) 'Аргументы: ' sSrsDir = Исходная папка ' sDstDir = Папка назначения ' sMask = маска файлов (или просто имя) '-------------------------------------------------------------------- Dim s As String On Error GoTo esFilesMove_Err If Right(sSrsDir, 1) <> "\" Then sSrsDir = sSrsDir & "\" If Right(sDstDir, 1) <> "\" Then sDstDir = sDstDir & "\" If Dir(sDstDir, vbDirectory) = "" Then MkDir (sDstDir) If Dir(sDstDir & sMask) <> "" Then Kill sDstDir & sMask
s = Dir(sSrsDir & sMask) While s <> "" Name sSrsDir & s As sDstDir & s s = Dir Wend
esFilesMove_Bye: Exit Sub
esFilesMove_Err: MsgBox "Error " & Err.Number & vbCrLf & Err.Description & vbCrLf & _ "in procedure esFilesMove", vbCritical, "Error!" Resume esFilesMove_Bye End Sub
Achtung!
Для FileSystemObject - требуется установить ссылку на Microsoft Scripting RunTime (C:\Windows\System32\scrrun.dll)
|