Как узнать путь к папке TEMP

Рубрика: 7. Полезняшки Excel

Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.

Задача: я хочу найти путь к папке TEMP в VBA. Решение: чтобы на вашем компьютере найти путь к папке TEMP, используйте код VBA:

TempPath = Environ("Temp")

Функция Environ помимо обнаружения пути к папке TEMP, дает большое количество информации о системе. Однако, вы должны быть аккуратны, потому что переменные функции, присутствующие на одном компьютере, могут отсутствовать на другом. Чтобы узнать, какие переменные доступны в вашей системе, используйте следующий код:

Sub ListEnvironVariables()
    For i = 1 To 99
        Cells(i, 1).Value = Environ(i)
    Next i
End Sub

Когда вы запустите этот код, вы получите список доступных переменных (рис. 1). Каждая строка здесь содержит имя переменной, знак равенства и значение переменной для данного компьютера.

Рис. 1. Значение переменных функции Environ

Рис. 1. Значение переменных функции Environ

Скачать заметку в формате Word или pdf, примеры в формате Excel (с кодом VBA)

Когда вы знаете, что некая переменная доступна, вы можете передать ее имя в кавычках. Например, Environ("USERNAME") (рис. 2).

Используйте следующий код, чтобы вывести в окне сообщения логин и имя домена:

Sub MyUserName()
    MsgBox "Вы вошли в систему как " & Environ("USERNAME") & " в домен " & Environ("USERDOMAIN")
End Sub

Рис. 2. Сообщение о логине и домене

Рис. 2. Сообщение о логине и домене

Вы можете вывести в ячейку А1 путь к папке TEMP с помощью кода:

Sub MyTemp()
    Cells(1, 1).Value = Environ("TEMP")
End Sub

Рис. 3. Макрос MyTemp() помещает в ячейку А1 путь к папке TEMP

Рис. 3. Макрос MyTemp() помещает в ячейку А1 путь к папке TEMP

Дополнительные сведения: функция Environ не работает на листе Excel. Но, вы можете написать код пользовательской функции, чтобы сделать ее доступной в стандартном интерфейсе Excel:

Function MyEnviron(ByVal Key)
    MyEnviron = Environ(Key)
End Function

Теперь, зная имя переменной, вы можете использовать функцию MyEnviron, как обычную функцию Excel (рис. 4).

Рис. 4. Пользовательская функция MyEnviron возвращает имя компьютера

Рис. 4. Пользовательская функция MyEnviron возвращает имя компьютера

Резюме: на ПК с Windows функция VBA Environ предоставляет информацию о пути к папке TEMP, имени компьютера, имени пользователя и многое другое.

Источник.


Прокомментировать