VBA GetAttr Function

VBA GetAttr Function

Overview of VBA GetAttr Function:


VBA GetAttr function is categorized as File and Direcetory function. This built-in VBA GetAttr statement returns the attributes of a file, folder, or directory in Excel VBA.
This function can be used in either procedure or function in a VBA editor window in Excel. We can use this VBA GetAttr Function in any number of times in any number of procedures or functions. In the following section we learn what is the syntax and parameters of the GetAttr function, where we can use this GetAttr Function and real-time exampleS in Excel VBA.

Syntax of VBA GetAttr Function

The syntax of the GetAttr Function in VBA is

GetAttr(PathName)

The GetAttr Function returns an integer value. The output of the VBA GetAttr function can be a combination of several attributes. Here are the different list of the GetAttr function values.

VB Constant Value Description
vbNormal 0 Normal
vbReadOnly 1 Read Only
vbHidden 2 Hidden
vbSystem 4 System file. It’s not available on the Macintosh.
vbDirectory 16 Directory or Folder
vbArchive 32 File has been changed since last backup. It’s not available on the Macintosh.
vbAlias 64 Supplied file name is an alias. It’s only available on the Macintosh.

Parameters or Arguments:

The GetAttr function has one argument in Excel VBA.
where
PathName:It is a mandatory string type parameter. The PathName argument represents the path of a file, folder, or directory. It helps to retrieve the details of file, folder, or directory.

Where we can apply or use VBA GetAttr Function?

We can use this GetAttr Function in VBA MS Office 365, MS Excel 2016, MS Excel 2013, 2011, Excel 2010, Excel 2007, Excel 2003, Excel 2016 for Mac, Excel 2011 for Mac, Excel Online, Excel for iPhone, Excel for iPad, Excel for Android tablets and Excel for Android Mobiles.

Example 1: Find the file attribute(Archive)

Here is a simple example of the VBA GetAttr function. This below example finds the file attribute value. And it returns output as 32.

'Find the file attribute(Archive)
Sub VBA_GetAttr_Function_Ex1()

    'Variable declaration
    Dim sPath As String
    Dim iOutput As Integer
    
    sPath = "C:\Someswari\VBAF1\VBA Functions\VBA Text Functions\VBA Functionsa.xlsm"
    
    iOutput = GetAttr(sPath)
        
    MsgBox "File Attribute Value is : " & iOutput, vbInformation, "VBA GetAttr Function"
    
End Sub

Output: Here is the screen shot of the first example output.
VBA GetAttr Function

Example 2: Find the file attribute(Directory)

Here is a simple example of the VBA GetAttr function. This below example finds the file attribute value. And it returns output as 16.

'Find the file attribute(Directory)
Sub VBA_GetAttr_Function_Ex2()

    'Variable declaration
    Dim sPath As String
    Dim iOutput As Integer
    
    sPath = "C:\Someswari\VBAF1\VBA Functions\VBA Text Functions\"
    
    iOutput = GetAttr(sPath)
        
    MsgBox "File Attribute Value is : " & iOutput, vbInformation, "VBA GetAttr Function"
    
End Sub

Output: Here is the screen shot of the second example output.
VBA GetAttr Function

Example 3: Find the File Attribute Value(Returns an Error)

Here is a simple example of the VBA GetAttr function. This below example finds for the file attribute value.The below macro returns an error. Because the specified file is not available.

'Find the File Attribute Value(Returns an Error)
Sub VBA_GetAttr_Function_Ex3()

     'Variable declaration
    Dim sPath As String
    Dim iOutput As Integer
    
    sPath = "C:\VBAF1\VBA Functions\VBA Text Functions\VBA Functionsa.xlsm"
    
    iOutput = GetAttr(sPath)
        
    MsgBox "File Attribute Value is : " & iOutput, vbInformation, "VBA GetAttr Function"
    
End Sub

Output: Here is the screen shot of the third example output.
VBA GetAttr Function

Example 4: Find the File Attribute Directory Value

Here is a simple example of the VBA GetAttr function. This below example checks for the file attribute and returns value as 16.

'Find the File Attribute Directory Value
Sub VBA_GetAttr_Function_Ex4()

    'Variable declaration
    Dim sPath As String
    Dim iOutput As Integer
    Dim iDirectory As Integer
    
    sPath = "C:\Someswari\VBAF1\VBA Functions\VBA Text Functions"
    
    iOutput = GetAttr(sPath)
    
    iDirectory = iOutput And vbDirectory
               
    MsgBox "File Attribute Directory Value is : " & iDirectory, vbInformation, "VBA GetAttr Function"
    
End Sub

Output: Here is the screen shot of the fourth example output.
VBA GetAttr Function

Instructions to use Macro Codes

Here are the step by step instructions to use the GetAttr Function in Excel VBA.

  • Open an Excel workbook.
  • Press Alt+F11 to open VBA Editor window.
  • Go to Insert menu and click on module from the available options.
  • Copy above specified macros to the VBA editor.
  • Select any procedure from above codes and click on ‘Run’ command or use Keyboard shortcut ‘F5’.

List of VBA Functions:

Please click on below link to go back to see all List of VBA Functions.

VBA File & Directory Functions List of VBA Functions

Leave a Comment

Your email address will not be published. Required fields are marked *