jschipper05
1/29/2018 - 9:11 PM

Excel Functions

Visual Basic - Functions - FileExist, FileOrDirExists, TestItWithWindows, TestItWithMacintosh

Sub TestItWithWindows()
     'Macro Purpose: To test the FileOrDirExists function with Windows
     'Only included to demonstrate the function.  NOT required for normal use!
     
    Dim sPath As String
     
     'Change your directory here
    sPath = "F:\Trading\Trade Tickets\Finished Historical Trade Tickets\2017\2017.08.10 Trade Tickets.xlsb"
     
     'Test if directory or file exists
    If FileOrDirExists(sPath) Then
        MsgBox sPath & " exists!"
    Else
        MsgBox sPath & " does not exist."
    End If
End Sub
Sub TestItWithMacintosh()
     'Macro Purpose: To test the FileOrDirExists function with a Macintosh
     'Only included to demonstrate the function.  NOT required for normal use!
     
    Dim sPath As String
     
     'Change your directory here
    sPath = "HardDriveName:Documents:Test.doc"
     
     'Test if directory or file exists
    If FileOrDirExists(sPath) Then
        MsgBox sPath & " exists!"
    Else
        MsgBox sPath & " does not exist."
    End If
End Sub
Function FileOrDirExists(PathName As String) As Boolean
     'Macro Purpose: Function returns TRUE if the specified file
     '               or folder exists, false if not.
     'PathName     : Supports Windows mapped drives or UNC
     '             : Supports Macintosh paths
     'File usage   : Provide full file path and extension
     'Folder usage : Provide full folder path
     '               Accepts with/without trailing "\" (Windows)
     '               Accepts with/without trailing ":" (Macintosh)
     
    Dim iTemp As Integer
     
     'Ignore errors to allow for error evaluation
    On Error Resume Next
    iTemp = GetAttr(PathName)
     
     'Check if error exists and set response appropriately
    Select Case Err.Number
    Case Is = 0
        FileOrDirExists = True
    Case Else
        FileOrDirExists = False
    End Select
     
     'Resume error checking
    On Error GoTo 0
End Function
Function FileExist(FilePath As String) As Boolean
'PURPOSE: Test to see if a file exists or not
'SOURCE: www.TheSpreadsheetGuru.com/The-Code-Vault
'RESOURCE: http://www.rondebruin.nl/win/s9/win003.htm

Dim TestStr As String

'Test File Path (ie "C:\Users\Chris\Desktop\Test\book1.xlsm")
  On Error Resume Next
    TestStr = Dir(FilePath)
  On Error GoTo 0

'Determine if File exists
  If TestStr = "" Then
    FileExist = False
  Else
    FileExist = True
  End If

End Function