1

Тема: Переменные среды (окружения) Environ

Использование в макросе переменных окружения Environ позволяет легко обратиться из программы Word к таким папкам, как Документы (Documents), Загрузки (Downloads) и т.п., и для получения другой информации о компьютере.

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

2

Re: Переменные среды (окружения) Environ

Специалистами была предложена процедура, выводящая номера переменной окружения, их наименования и значения в конец текущего файла:

Sub ListEnviron()
    'вывод номеров переменной окружения, их наименований и значений в конец текущего файла
    Selection.EndKey Unit:=wdStory
    On Error Resume Next
    For i = 1 To 100
    If Environ(i) <> "" Then
        Selection.Range.Text = i & " " & Environ(i)
        Selection.EndKey Unit:=wdStory
        Selection.TypeParagraph
    End If
    Next
End Sub

Переменные окружения для каждого компьютера имеют свои порядковые номера и наименования. Номера переменных меняются от одного компьютера к другому, а наименования – неизменны, и их можно использовать в макросах.
У некоторых компьютеров те или иные значения отсутствуют - это зависит, в частности, от их устройства и операционного окружения (среды).

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

3

Re: Переменные среды (окружения) Environ

Привожу для примера некоторые результаты работы указанной процедуры на моем домашнем локальном компьютере:

Наименование переменной окружения   
Описание   
№ п/п   
Значение переменной

ALLUSERSPROFILE   
Возвращает размещение профиля «All Users». В Windows 7 возвращает путь к папке C:\ProgramData\.   
1   
C:\ProgramData

AMDAPPSDKROOT       
2   
C:\Program Files (x86)\AMD APP\

APPDATA   
Возвращает используемое по умолчанию размещение данных приложений. В Windows XP это C:\Documents and Settings\%UserName%\Application Data. В Windows 7 - C:\Users\%UserName%\AppData\Roaming.   
3   
C:\Users\Александр\AppData\Roaming

CommonProgramFiles   
Расположение каталога "Common Files" (обычно %ProgramFiles%\Common Files).   
5   
C:\Program Files (x86)\Common Files

CommonProgramFiles(x86)   
Расположение каталога "Common Files" в Program Files (x86) для 64-разрядной ОС (обычно %ProgramFiles(x86)%\Common Files).   
6   
C:\Program Files (x86)\Common Files

COMPUTERNAME   
Имя компьютера   
8   
IDEA-PC

ComSpec   
Путь к исполняемому файлу командного процессора (shell).   
9   
C:\WINDOWS\system32\cmd.exe

configsetroot       
10   
C:\WINDOWS\ConfigSetRoot

HOMEDRIVE   
Возвращает имя диска локальной рабочей станции, связанного с основным каталогом пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».   
12   
C:

HOMEPATH   
Возвращает полный путь к основному каталогу пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».   
13   
\Users\Александр

LOCALAPPDATA   
Возвращает используемое по умолчанию локальное размещение данных приложений (C:\Users\%UserName%\AppData\Local).   
14   
C:\Users\Александр\AppData\Local

LOGONSERVER   
Имя контроллера домена, использовавшегося для авторизации текущего пользователя.   
15   
\\IDEA-PC

NUMBER_OF_PROCESSORS   
Количество процессоров в системе (фактически, количество ядер).   
16   
2

OS   
Название операционной системы. Windows XP и Windows 2000 отображаются как Windows_NT.   
17   
Windows_NT

Path   
Указывает путь поиска исполняемых файлов.   
18   
C:\Program Files (x86)\Microsoft Office\Office12\; C:\ProgramData\Oracle\Java\javapath; C:\Program Files (x86)\AMD APP\bin\x86_64; C:\Program Files (x86)\AMD APP\bin\x86; C:\WINDOWS\system32; C:\WINDOWS; C:\WINDOWS\System32\Wbem; C:\WINDOWS\System32\WindowsPowerShell\v1.0\; C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static; C:\Program Files (x86)\Common Files\Adobe\AGL

PATHEXT   
Возвращает список расширений файлов, которые рассматриваются операционной системой как исполняемые.   
19   
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

PROCESSOR_ARCHITECTURE   
Архитектура процессора. Возможные варианты: x86, IA64, AMD64.   
20   
x86

PROCESSOR_ARCHITEW6432       
21   
AMD64

PROCESSOR_IDENTIFIER   
Описание процессора (в Интернете часто встречается ошибочное написание PROCESSOR_IDENTFIER - пропущена буква).   
22   
AMD64 Family 21 Model 16 Stepping 1, AuthenticAMD

PROCESSOR_LEVEL   
Номер модели процессора.   
23   
21

PROCESSOR_REVISION   
Ревизия процессора.   
24   
1001

ProgramData   
Возвращает путь к каталогу C:\ProgramData\ (аналогично ALLUSERSPROFILE).   
25   
C:\ProgramData

ProgramFiles   
Путь к каталогу Program Files.   
26   
C:\Program Files (x86)

ProgramFiles(x86)   
Путь к каталогу Program Files (x86) в 64-разрядных системах для приложений архитектуры x86.   
27   
C:\Program Files (x86)

ProgramW6432       
28   
C:\Program Files

PUBLIC   
В Windows 7 возвращает путь к каталогу C:\Users\Public.   
32   
C:\Users\Public

SESSIONNAME    Хранит имя активного пользовательского сеанса. При локальном входе имеет значение "Console", при удаленном доступе имеет вид RDP-Tcp#<номер сеанса>   
33   
Console

SystemDrive   
Диск, на котором расположен корневой каталог Windows.   
34   
C:

SystemRoot   
Путь к корневому каталогу Windows.   
35   
C:\WINDOWS

TEMP   
Возвращает временные каталоги, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP. Потенциально TEMP и TMP могут указывать на разные каталоги, но обычно совпадают.    36    C:\Users\8523~1\AppData\Local\Temp
TMP       
37   
C:\Users\8523~1\AppData\Local\Temp

USERDOMAIN   
Имя домена, которому принадлежит текущий пользователь.   
38   
idea-PC

USERDOMAIN_ROAMINGPROFILE       
39   
idea-PC

USERNAME   
Имя текущего пользователя.   
40   
Александр

USERPROFILE   
Путь к профилю текущего пользователя.   
41   
C:\Users\Александр

windir   
Каталог, в котором установлена Windows.   
43   
C:\WINDOWS

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

4

Re: Переменные среды (окружения) Environ

Использование переменных окружения

Ниже приведем пример использования переменных окружения в макросах Word:

Public Sub env1()
    Dim strDownloads As String
    MsgBox Environ("username")
    MsgBox Environ("userprofile")
    strDownloads = Environ("userprofile") + "\Downloads"
    MsgBox strDownloads
End Sub

Environ("username") – имя учетной записи (в приведенном выше примере имеет значение Александр)
Environ("userprofile") – путь к песональной папке (в приведенном выше примере имеет значение C:\Users\Александр)
strDownloads – путь к папке Загрузки (Downloads) (в приведенном выше примере имеет значение C:\Users\Александр\Downloads)

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

5

Re: Переменные среды (окружения) Environ

Эксперт Александр Б. подсказал (http://wordexpert.ru/forum/viewtopic.ph … 850#p14850) :

Как узнать какие могут быть аргументы у функции Environ? Для этого в командной строке выполните команду set. Вы увидите весь список.
Примечание - Командная строка находится в Пуск - Все программы - Стандартные.

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.