반응형
엑셀 VBA 에서는 원하는 레지스트리 값을 변경할 수 있습니다. 자주 있는 일은 아니지만 레지스트리에 값을 넣고 수정하면서 DB 대신 이용하셔도 됩니다. 이번에는 간단하게 레지스트리 특정 키 값을 알아 오는 방법에 대해 이야기하겠습니다.
▼ 먼저 알고 싶은 레지스트리 키의 경로를 알아야겠죠. 시작에서 Regedit 를 실행합니다. 그리고 왼쪽 폴더 경로에서 원하는 키 값이 있는 위치를 찾습니다.
HKEY_CURRENT_USER\Software\Genymobile\Genymotion\VBoxPath
▼ VBA 에서 레지스트리를 관리하려면 윈도우 Shell 기능을 엑세스 할 수 있도록 WScript.Shell 을 이용해서 개체를 생성해야 합니다. 그렇게 해서 참조를 얻고 찾고 있는 키값의 주소를 넘겨주면 값을 읽어 들일 수 있습니다. 읽는 함수는 RegRead() 입니다. 키 값을 읽어 들인 후 MsgBox 를 이용해서 시트 화면에 표시해 주었습니다.
Sub 레지스트리읽기() Dim wsh As Object Dim RegStr As String Dim RegVal As String RegStr = "HKEY_CURRENT_USER\Software\Genymobile\Genymotion\VBoxPath" Set wsh = CreateObject("WScript.Shell") RegVal = "" On Error Resume Next RegVal = wsh.RegRead(RegStr) On Error GoTo 0 If RegVal = "" Then Msgbox "키값이 없습니다." Else Msgbox "키값 : " & RegVal End If End Sub |
▼ 아래 그림은 시트에서 위의 매크로 함수를 실행한 결과 입니다. regedit 편집기에서 보던 값과 동일한 것을 알 수 있습니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 Excel 옵션 초기화 하는 방법 ▶ 엑셀 VBA 영역을 입력받는 RefEdit 컨트롤 사용하는 방법 ▶ 엑셀 Excel 최근 사용한 통합 문서나 나타나지 않는 경우 해결하기 ▶ 엑셀 VBA Application.GoTo 함수로 시트에 커서 강제 이동시키기 ▶ 엑셀 Excel 런타임 오류 1004 해결하기 위한 여러 가지 방법 |
반응형
댓글을 달아 주세요