Konstanty pro funkci ENVIRON
Tato funkce se mnohokrát hodí pro zjištění cesty k TEMP adresáři, napadlo mě podívat se jaké jsou další konstanty. Tabulku včetně navratových popisků pro můj PC a můj virtuální stroj můžete vidět níže. Pro každý systém se některé konstanty můžou lišit - chybět/nadbývat, ale cca 80% je shodných.
Konstanty pro funkci ENVIRON
Environ(ALLUSERSPROFILE) | Cesta ke složce AllUser |
Environ(APPDATA) | Cesta ke složce Application Data |
Environ(CITY) | Pokud je specifikovano umístění, vrátí jeho hodnotu |
Environ(CLIENTNAME) | Na virtuální stroji vrací text "Console" |
Environ(CommonProgramFiles) | Cesta ke složce Program Files |
Environ(COMPUTERNAME) | Vráti jméno PC |
Environ(ComSpec) | Vráti cestu k spuštění příkazového řádku |
Environ(DEPT) | ??? |
Environ(FP_NO_HOST_CHECK) | ??? |
Environ(HOMEDRIVE) | Písmeno "domáciho" adresáře. Většinou písmeno "C:" |
Environ(HOMEPATH) | Cesta k "domácimu" adresáři. Většinou disk "C:" nebo vráti cestu k admin účtu |
Environ(LOGIN_CONTEXT) | Pokud je počítač pod servrem vrací celé jméno |
Environ(LOGONSERVER) | Vrací jméno pod kterým je PC zalogován |
Environ(MAC) | Číslo MAC karty |
Environ(MACID) | ID MAC karty |
Environ(NUMBER_OF_PROCESSORS) | Počet procesorů v PC |
Environ(OS) | Typ OS |
Environ(Path) | Vrací cesty k instalačním složkám Office, Windows a SQL serveru |
Environ(PATHEXT) | Vrací koncovky spustitelných programů (.EXE, .BAT atd.) |
Environ(PROCESSOR_ARCHITECTURE) | Typ procesoru |
Environ(PROCESSOR_IDENTIFIER) | Info o procesoru |
Environ(PROCESSOR_LEVEL) | Info o procesoru |
Environ(PROCESSOR_REVISION) | Info o procesoru |
Environ(ProgramFiles) | Cesta k Program Files |
Environ(SERVER) | Jméno serveru |
Environ(SESSIONNAME) | Jméno serveru, pro virtuální stroje vrací "CONSOLE" |
Environ(SystemDrive) | Jméno disku s instalovaným systemem |
Environ(SystemRoot) | Výchozí adresář kde je naistalován systém |
Environ(TEMP) | Cesta k adresáři TEMP |
Environ(TMP) | Cesta k adresáři TEMP |
Environ(USERDOMAIN) | Většinou odpovídá konstantě COMPUTERNAME |
Environ(USERNAME) | Jméno uživatele |
Environ(USERPROFILE) | Cesta do adresáře s uživatelským nastavením |
Environ(USER_ID) | Jméno uživatele (většinou) |
Environ(VS90COMNTOOLS) | Cesta do adresáře s nastroji pro Visual Studio |
Environ(windir) | Adresář pro systém WINDOWS |
Environ(WINDOWS_LOGIN) | ??? |
A některé další specifické pro každý systém | |
Environ(NWLANGUAGE) | ??? |
Environ(NWUSERNAME) | ??? |
Environ(J2D_D3D) | ??? |
Environ(WecVersionForRosebud.67C) | ??? |
Kód pro zjištění všech konstat funkce ENVIRON
'********************************************************************************
'TestEnvironFunction
'
' Purpose: Testovaci procedura pro funkci ENVIRON.
' Vypise do listu veskere pripustne hodnoty pro dany PC
'
' Inputs: -none-
'
' Outputs: -none-
'
' Created: 01/05/2010 Premysl Lazecky
'
' Modified: .
'
'********************************************************************************
Sub TestEnvironFunction()
Dim i As Integer
Dim strConst As String
Dim intPosEqu As Integer
Cells.ClearContents
Cells(1, "A").Value = "Konstanta pro funkci"
Cells(1, "B").Value = "Zapis funkce"
Cells(1, "C").Value = "Navratova hodnota"
For i = 1 To 255
strConst = Environ$(i)
intPosEqu = InStr(1, strConst, "=")
If intPosEqu > 0 Then
Cells(i + 1, "A").Value = Mid(String:=strConst, Start:=1, Length:=intPosEqu - 1)
Cells(i + 1, "B").Value = "ENVIRON(" & Cells(i + 1, "A").Value & ")"
Cells(i + 1, "C").Value = Mid(String:=strConst, Start:=intPosEqu + 1)
End If
Next i
Columns.AutoFit
End Sub
Makro
(Bath, 18. 5. 2010 17:45)