Получение списка переменных окружения (функция ENVIRON в VBA)
- Макросы VBA Excel
- Разное
- текстовые строки
- Средства Windows
- Разное
|
При помощи функции Environ() можно получить значение переменной окружения Windows
Этот макрос создаст новую книгу, и выведет в неё список из 31 переменной,
с примерами вызова функции для получения каждого из параметров:
Sub ВывестиПеременныеОкружения()
On Error Resume Next
Dim sh As Worksheet, param$
Application.ScreenUpdating = False: Set sh = Workbooks.Add.Worksheets(1)
With sh.Range("a1:d1")
.Value = Array("Номер параметра", "Параметр", "Пример вызова", "Результат (на моём компьютере)")
For i = 1 To 31
param$ = Split(Environ(i), "=")(0)
.Offset(i).Value = Array(i, param$, "env$ = Environ(""" & param$ & """)", Environ(param$))
Next
End With
End Sub
В результате работы макроса, получается следующая таблица:
Номер параметра |
Параметр |
Пример вызова |
Результат (на моём компьютере) |
1 |
ALLUSERSPROFILE |
env$ = Environ("ALLUSERSPROFILE") |
C:\Documents and Settings\All Users |
2 |
APPDATA |
env$ = Environ("APPDATA") |
C:\Documents and Settings\Admin\Application Data |
3 |
CLIENTNAME |
env$ = Environ("CLIENTNAME") |
Console |
4 |
CommonProgramFiles |
env$ = Environ("CommonProgramFiles") |
C:\Program Files\Common Files |
5 |
COMPUTERNAME |
env$ = Environ("COMPUTERNAME") |
MYCOMPUTERNAME |
6 |
ComSpec |
env$ = Environ("ComSpec") |
C:\WINDOWS\system32\cmd.exe |
7 |
EMAIL |
env$ = Environ("EMAIL") |
C:\Documents and Settings\Admin\Application Data\The Bat! |
8 |
FP_NO_HOST_CHECK |
env$ = Environ("FP_NO_HOST_CHECK") |
NO |
9 |
HOMEDRIVE |
env$ = Environ("HOMEDRIVE") |
C: |
10 |
HOMEPATH |
env$ = Environ("HOMEPATH") |
\Documents and Settings\Admin |
11 |
LOGONSERVER |
env$ = Environ("LOGONSERVER") |
\\MYCOMPUTERNAME |
12 |
NUMBER_OF_PROCESSORS |
env$ = Environ("NUMBER_OF_PROCESSORS") |
2 |
13 |
OS |
env$ = Environ("OS") |
Windows_NT |
14 |
Path |
env$ = Environ("Path") |
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem |
15 |
PATHEXT |
env$ = Environ("PATHEXT") |
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH |
16 |
PROCESSOR_ARCHITECTURE |
env$ = Environ("PROCESSOR_ARCHITECTURE") |
x86 |
17 |
PROCESSOR_IDENTIFIER |
env$ = Environ("PROCESSOR_IDENTIFIER") |
x86 Family 15 Model 107 Stepping 2, AuthenticAMD |
18 |
PROCESSOR_LEVEL |
env$ = Environ("PROCESSOR_LEVEL") |
15 |
19 |
PROCESSOR_REVISION |
env$ = Environ("PROCESSOR_REVISION") |
6b02 |
20 |
ProgramFiles |
env$ = Environ("ProgramFiles") |
C:\Program Files |
21 |
RML |
env$ = Environ("RML") |
C:/Rml |
22 |
SESSIONNAME |
env$ = Environ("SESSIONNAME") |
Console |
23 |
SystemDrive |
env$ = Environ("SystemDrive") |
C: |
24 |
SystemRoot |
env$ = Environ("SystemRoot") |
C:\WINDOWS |
25 |
TEMP |
env$ = Environ("TEMP") |
C:\DOCUME~1\Admin\LOCALS~1\Temp |
26 |
TMP |
env$ = Environ("TMP") |
C:\DOCUME~1\Admin\LOCALS~1\Temp |
27 |
USERDOMAIN |
env$ = Environ("USERDOMAIN") |
MYCOMPUTERNAME |
28 |
USERNAME |
env$ = Environ("USERNAME") |
Игорь |
29 |
USERPROFILE |
env$ = Environ("USERPROFILE") |
C:\Documents and Settings\Admin |
30 |
WecVersionForRosebud.1294 |
env$ = Environ("WecVersionForRosebud.1294") |
4 |
31 |
windir |
env$ = Environ("windir") |
C:\WINDOWS |