Basic file and folder examples
2005-12-28 Files & Folders 0 321
How to get the active station and folder name:
MsgBox "Active station and folder name: " & CurDirHow to change the active station:
ChDrive "F" ' changes to the F-stationHow to change the active folder:
ChDir "F:\My Documents\Private"How to determine if a file exists in a folder:
If Len(Dir("F:\My Documents\My Workbook.xls")) > 0 Then ' the file exists, returns "" (an empty string) if the file doesn't exist.How to determine if a folder exists:
If Len(Dir("F:\My Documents\MyFolder", vbDirectory)) > 0 Then ' the folder exists, returns "" (an empty string) if the file doesn't exist.How to delete a file :
Kill "F:\My Documents\My Workbook.xls"If you don't specify the station, Excel uses the active station. If you don't specify the folder, Excel uses the active folder.
How to create a new folder:
MkDir "NewPrivateFolder" ' creates a new folder in the active folder MkDir "F:\My Documents\NewPrivateFolder" ' creates a new folder in the existing folder F:\My DocumentsHow to delete a folder (folder must be empty):
RmDir "NewPrivateFolder" ' deletes the subfolder NewPrivateFolder in the active folder RmDir "F:\My Documents\NewPrivateFolder" ' deletes the subfolder NewPrivateFolder in the folder F:\My DocumentsHow to copy a file (the file must be closed):
FileCopy "OrgWorkBook.xls", "CopyWorkBook.xls" ' copies OrgWorkBook.xls to CopyWorkBook.xls in the active folder FileCopy "OrgWorkBook.xls", "F:\My Documents\CopyWorkBook.xls" ' copies OrgWorkBook.xls from the active folder to F:\My Documents\CopyWorkBook.xlsHow to move a file (the file must be closed):
OldFilePath = "C:\OldFolder\Filename.xls" ' original file location NewFilePath = "C:\NewFolder\Filename.xls" ' new file location Name OldFilePath As NewFilePath ' move the fileHow to copy a folder, including subfolders:
CopyFolderAndSubFolders "C:\FolderName\SourceFolder", "C:\FolderName\TargetFolder" Sub CopyFolderAndSubFolders(strSourceFolder As String, strTargetFolder As String) ' example: CopyFolderAndSubFolders "C:\FolderName\SourceFolder", "C:\FolderName\TargetFolder" ' requires a reference to the Microsoft Scripting runtime library Dim fso As Scripting.FileSystemObject Set fso = New Scripting.FileSystemObject Application.StatusBar = "Copying " & strSourceFolder & " to " & strTargetFolder & "..." On Error GoTo NotAbleToCopy fso.CopyFolder strSourceFolder, strTargetFolder, True On Error GoTo 0 Application.StatusBar = False Set fso = Nothing Exit Sub NotAbleToCopy: MsgBox "Error Description: " & vbLf & Err.Description, vbExclamation, "An Error Occurred" Resume Next End Sub