vba, 시스템정보, 경로 얻어오기...펌
Environ이란?
환경 매개변수의 앞자만 몇글자로 요약한 글자의 함수입니다.
이 함수를 이용하시면 윈도우 폴더, 운영체제, 임시 저장 폴더(TEMP), 프로세서 정보, 로그온 정보, 사용자 정보, 부팅 드라이브, 도메인명....등과 같은 정보를 API 함수 없이 매우 간단히 불러오실 수 있습니다.
(DOS 시절 "set" 문이 환경 매개변수를 지정해주는 명령어였죠. ^^)
WINDIR = Environ("windir")
TEMPDIR = Environ("temp")
USERNAME = Environ("username")
이런식으로 사용하시면 됩니다.
자, 그럼 한가지 의문점이 생기실거예요. 바로 Environ 안에 들어가는 문자열 값은 어디서 튀어나온거냐구요..^^;
그건 간단합니다. [시작]-[프로그램]-[보조 프로그램]-[명령 프롬프트] 또는 [한글 MS-DOS]를 실행하여 "set" 이라고 쳐보세요. 그러면 부팅시 지정된 환경 매개변수값들이 나옵니다.
앞에 이름이 바로 Environ 에서 사용되어지는 값들이예요.
OS 마다 공동적으로 사용되는 것은 TEMP, WINDIR, COMSPEC...등이 있습니다. 또 운영체제마다 차이나는게 몇개 있는데 윈NT 계열에서는 도메인정보와 로그온 및 사용자 이름, 프로세서 정보등이 환경 매개변수로 지정되어져 있습니다.
공통으로 사용되는 것은 유용하게 이용 가능하실 겁니다. API 로 몇줄 처리하는것을 VB 함수로 한줄에 끝나네요. ^^
[출처] Environ(환경매개변수)사용 |작성자 바람내음
Sub test()
?? ?On Error Resume Next
?? ?For i = 1 To 40
?? ? ? ?Debug.Print i & ", " & Environ(i)
?? ?Next
End Sub
결과(뒤의 내용은 지웠음).
1, ALLUSERSPROFILE=
2, ANDROID_HOME=
3, APPDATA=
4, CLASSPATH=
5, CommonProgramFiles=
6, COMPUTERNAME=
7, ComSpec=
8, FP_NO_HOST_CHECK=
9, HOMEDRIVE=
10, HOMEPATH=
11, JAVAHOME=
12, JAVA_HOME=
13, LOCALAPPDATA=
14, LOGONSERVER=
15, NUMBER_OF_PROCESSORS=
16, ORACLE_HOME=
17, OS=
18, Path=
19, PATHEXT=
20, PROCESSOR_ARCHITECTURE=
21, PROCESSOR_IDENTIFIER=
22, PROCESSOR_LEVEL=
23, PROCESSOR_REVISION=
24, ProgramData=
25, ProgramFiles=
26, PSModulePath=
27, PUBLIC=
28, SESSIONNAME=
29, SQLPATH=
30, SystemDrive=
31, SystemRoot=
32, TEMP=
33, TMP=
34, USERDOMAIN=
35, USERNAME=
36, USERPROFILE=
37, WecVersionForRosebud.2B0=
38, windir=
39,?
40,?