powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Локальные переменные среды в коде VBA
3 сообщений из 3, страница 1 из 1
Локальные переменные среды в коде VBA
    #34742111
B.T.C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно сделать универсальный макрос, запускаемый на любом из компов, при этом результаты его работы в служебных целях должны сохраняться в папках профиля пользователя.
Вопрос - можно в коде использовать для этого локальные переменные Windows типа %HOMEPATH% и %USERPROFILE% ?
...
Рейтинг: 0 / 0
Локальные переменные среды в коде VBA
    #34742269
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот здесь посмотри функцию GetEnvironmentVariableA
Код: plaintext
1.
2.
3.
а использовать её так
Private Sub Command1_Click()
   MsgBox GetVariable("USERPROFILE")
End Sub
...
Рейтинг: 0 / 0
Локальные переменные среды в коде VBA
    #34742683
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
Sub TEST()
    Dim Msg As String, i As Long, arrFolders As Variant
    
    '---1---Environ by Name
    arrFolders = Array("ALLUSERSPROFILE", "APPDATA", "COMMONPROGRAMFILES", "HOMEDRIVE", _
        "HOMEPATH", "LOCALAPPDATA", "LOGONSERVER", "PATH", "PROGRAMDATA", "PROGRAMFILES", _
        "PUBLIC", "SYSTEMDRIVE", "SYSTEMROOT", "TEMP", "TMP", "USERNAME", "USERPROFILE", "WINDIR")
    
    For i =  0  To UBound(arrFolders)
        Msg = Msg & arrFolders(i) & "= " & Environ(arrFolders(i)) & Chr( 13 )
    Next i
    MsgBox Msg

    '---2---Environ by Index
    Msg = ""
    For i =  1  To  100 
         If Environ(i) <> "" Then Msg = Msg & Environ(i) & Chr( 13 )
    Next i
    MsgBox Msg
    
    '---3---WScript.Shell
    Msg = ""
    arrFolders = Array("AllUsersDesktop", "AllUsersStartMenu", "AllUsersPrograms", _
        "AllUsersStartup", "Desktop", "Favorites", "Fonts", "MyDocuments", "NetHood", _
        "PrintHood", "Programs", "Recent", "SendTo", "StartMenu", "Startup", "Templates")

    With CreateObject("WScript.Shell")
        For i =  0  To UBound(arrFolders)
            Msg = Msg & UCase(arrFolders(i)) & "= " & .SpecialFolders(arrFolders(i)) & Chr( 13 )
        Next i
    End With
    MsgBox Msg
    
    '---4---Excel Specific
    Msg = ""
    With Application
        Msg = Msg & .Path & Chr( 13 )
        Msg = Msg & .UserLibraryPath & Chr( 13 )
        Msg = Msg & .StartupPath & Chr( 13 )
        Msg = Msg & .AltStartupPath & Chr( 13 )
        Msg = Msg & .DefaultFilePath & Chr( 13 )
        Msg = Msg & .LibraryPath & Chr( 13 )
        Msg = Msg & .NetworkTemplatesPath & Chr( 13 )
        Msg = Msg & .TemplatesPath & Chr( 13 )
    End With
    MsgBox Msg
    
End Sub

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Локальные переменные среды в коде VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]