Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Локальные переменные среды в коде VBA / 3 сообщений из 3, страница 1 из 1
21.08.2007, 15:44:16
    #34742111
B.T.C.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Локальные переменные среды в коде VBA
Нужно сделать универсальный макрос, запускаемый на любом из компов, при этом результаты его работы в служебных целях должны сохраняться в папках профиля пользователя.
Вопрос - можно в коде использовать для этого локальные переменные Windows типа %HOMEPATH% и %USERPROFILE% ?
...
Рейтинг: 0 / 0
21.08.2007, 16:24:23
    #34742269
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Локальные переменные среды в коде VBA
вот здесь посмотри функцию GetEnvironmentVariableA
Код: plaintext
1.
2.
3.
а использовать её так
Private Sub Command1_Click()
   MsgBox GetVariable("USERPROFILE")
End Sub
...
Рейтинг: 0 / 0
21.08.2007, 17:43:37
    #34742683
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Локальные переменные среды в коде VBA
Код: 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
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Локальные переменные среды в коде VBA / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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