We have an environment block that contains a set of environment variables and their values. You can get at all the system information using VBA by using environment variables. Here are the different Environment variables, you can find the below table. These Environment variables especially useful when you want to know different types of access depending on our requirements. We can also create custom environment variables.
- Overview of Environment Variables in VBA
- List of of Environment Variables in VBA
- Macro to get Environment Variables using VBA
- Examples on Environment Variables
List of Environment Variables in VBA:
Here are the list of environment variables which are shown in below specified table. We have some more environment tables, which is depending on operating system.
N0 | Environment Variable | N0 | Environment Variable |
---|---|---|---|
1 | ALLUSERSPROFILE | 23 | PROCESSOR_ARCHITEW6432 |
2 | APPDATA | 24 | PROCESSOR_IDENTIFIER |
3 | CommonProgramFiles | 25 | PROCESSOR_LEVEL |
4 | CommonProgramFiles(x86) | 26 | PROCESSOR_REVISION |
5 | CommonProgramW6432 | 27 | ProgramData |
6 | COMPUTERNAME | 28 | ProgramFiles |
7 | ComSpec | 29 | ProgramFiles(x86) |
8 | DriverData | 30 | ProgramW6432 |
9 | FPS_BROWSER_APP_PROFILE_STRING | 31 | PSModulePath |
10 | FPS_BROWSER_USER_PROFILE_STRING | 32 | PUBLIC |
11 | HOMEDRIVE | 33 | RegionCode |
12 | HOMEPATH | 34 | SESSIONNAME |
13 | LOCALAPPDATA | 35 | SystemDrive |
14 | LOGONSERVER | 36 | SystemRoot |
15 | NUMBER_OF_PROCESSORS | 37 | TEMP |
16 | OneDrive | 38 | TMP |
17 | OnlineServices | 39 | USERDOMAIN |
18 | OS | 40 | USERDOMAIN_ROAMINGPROFILE |
19 | Path | 41 | USERNAME |
20 | PATHEXT | 42 | USERPROFILE |
21 | platformcode | 43 | windir |
22 | PROCESSOR_ARCHITECTURE |
Macro to get Environment Variables using VBA
Here is the procedure to show all the environment variables. You can find below specified procedure to know all about environment variables. You can display output in the immediate window or any Specified worksheet. The below macro procedure will print out the value of the environment variables and its name.
'List of Environment Variables in VBA Sub vbaf1_List_Environment_Variables() 'Variable declaration Dim iCnt As Integer Dim sEnvVariable As String 'loop through all environ values from 1 to 250 For iCnt = 1 To 250 ' Get the environment variable sEnvVariable = Environ(iCnt) 'Check for the Environment variable If Len(sEnvVariable) > 0 Then Debug.Print iCnt, Environ(iCnt) Else Exit For End If Next End Sub
Output: You can check output of above code in Immediate Window.
Shortcut to View Immediate Window: ‘Ctrl + G’
Please find the screen shot of the immediate window for your reference.
Examples on Environment Variables
You can find one more simple example to get the Environment variable names based on their input.
Get location of all users using Environ function
Here is the example to get location of all users using Environ function.
'Get location of all users using Environ Function Sub Get_AllUsers_Location() MsgBox Environ("ALLUSERSPROFILE"), vbInformation, "Windows Directory" End Sub
Output: Here is the output screenshot for the above specified code for your reference.
Get location of all applications temporary files using Environ function
Here is the example to get location of all applications temporary files using Environ function.
'Get location of all applications temporary files Sub Get_Local_App_Data() MsgBox Environ("LOCALAPPDATA"), vbInformation, "Location of all applications temporary files" End Sub
Output: Here is the output screenshot for the above specified code for your reference.
Get location of system folder using Environ function
Here is one more example to get location of system folder using Environ function.
'Get location of system root folder Sub Get_System_Root_Folder() MsgBox Environ("SystemRoot"), vbInformation, "Location of System Root Folder" End Sub
Output: Here is the output screenshot for the above specified code for your reference.
Get location of windows directory using Environ function
Here is another example to get location of windows directory using Environ function.
'Get Windows Directory using Environ Function Sub Get_Windows_Directory() MsgBox Environ("windir"), vbInformation, "Windows Directory" End Sub
Output: Here is the output screenshot for the above specified code for your reference.
Know More about VBA Environ Function:
Please click on below link to Know more details about the VBA Environ Function.
Instructions to Run VBA Macro Code or Procedure:
You can refer the following link for the step by step instructions.
Instructions to run VBA Macro Code
Other Useful Resources:
Click on the following links of the useful resources. These helps to learn and gain more knowledge.
VBA Tutorial VBA Functions List VBA Arrays VBA Text Files VBA Tables
VBA Editor Keyboard Shortcut Keys List VBA Interview Questions & Answers Blog
I wish there was a variable to list the folder of the Excel Spreadsheet that is listing the Environ. That way, I could ‘save as’ data I mine from my spreadsheet into the same dir as my spreadsheet. I can still save my stuff in my Documents folder tho, which is nice.
Sub myExcelFolder
myExcelFolder = Application.DefaultFilePath
End Sub