Please Enable JavaScript!
Gon[ Enable JavaScript ]

엑셀 VBA 레지스트리 키값 읽어오기

엑셀(Excel)/VBA
반응형

엑셀 VBA 에서는 원하는 레지스트리 값을 변경할 수 있습니다. 자주 있는 일은 아니지만 레지스트리에 값을 넣고 수정하면서 DB 대신 이용하셔도 됩니다. 이번에는 간단하게 레지스트리 특정 키 값을 알아 오는 방법에 대해 이야기하겠습니다.

 

먼저 알고 싶은 레지스트리 키의 경로를 알아야겠죠. 시작에서 Regedit 를 실행합니다. 그리고 왼쪽 폴더 경로에서 원하는 키 값이 있는 위치를 찾습니다.

 

HKEY_CURRENT_USER\Software\Genymobile\Genymotion\VBoxPath

엑셀 VBA 레지스트리 키값 읽어오는 방법

 

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 편집기에서 보던 값과 동일한 것을 알 수 있습니다.

엑셀 VBA 레지스트리 키값 읽어오는 방법

 ※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 Excel 옵션 초기화 하는 방법
엑셀 VBA 영역을 입력받는 RefEdit 컨트롤 사용하는 방법
엑셀 Excel 최근 사용한 통합 문서나 나타나지 않는 경우 해결하기
엑셀 VBA Application.GoTo 함수로 시트에 커서 강제 이동시키기
셀 Excel 런타임 오류 1004 해결하기 위한 여러 가지 방법
반응형
Posted by 녹두장군

댓글을 달아 주세요