반응형
엑셀 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 해결하기 위한 여러 가지 방법 |
반응형
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀 VBA 문자가 포함된 숫자만 합치기 (0) | 2023.03.07 |
---|---|
엑셀 VBA 16진수 > 10진수, 10진수 > 16진수 헥사값 알아오기 (2) | 2023.03.06 |
엑셀 VBA 반복문을 이용해서 폼에 있는 전체 컨트롤 제어하기 (0) | 2023.03.02 |
엑셀 VBA 단위 변환 사용자 정의 폼 만들기 (0) | 2023.03.01 |
엑셀 VBA 시트에서 데이터 셀 영역 구하기 (2) | 2023.02.22 |
엑셀 VBA 매개변수 전달 방식 ByRef, ByVal 의 차이점 (0) | 2023.01.13 |
엑셀 VBA 반복문 For Next, For Each Next 사용하기 (0) | 2023.01.11 |
엑셀 VBA 아티클 전체 목록 (12) | 2022.12.23 |