소프트웨어 엑셀(64bit) 시작시 기본 한글 입력모드로 VBA
2020.10.28 14:01
안녕하십니까? 요즘 집사람 오더를 받아 엑셀 VBA 제작에 집중하고 있어 윈포를 자주 못 봤습니다.
얼마전 폰으로 잠깐 봤을때 엑셀 시작시 기본 한글 입력모드로 만들어주는 추가기능을 찾는 질문이 있었습니다.
아침에 찾아보니 그 게시물을 못 찾겠습니다. 혹시 게시물 위치 아시는 분 계시면 링크 부탁드립니다.
오피스 64bit 나오면서 VBA에서 win32api 선언에 64bit 형식이 추가되어서 기존 32bit용을 64bit에 사용시 오류가 납니다.
구글에서 vba win32api 64bit 로 검색하면 정보를 얻을 수 있습니다. 구글 검색 보기
이미 32bit용으로 만드신 분이 계십니다.
- https://www.officetutor.co.kr/board/DType/bfrmvw.asp?f_tn=Dqa_excel_n2&f_bno=118357&page=58
저는 64bit용 선언부만 추가 하였고 한글, 영어 선택이 쉽도록 lang = "KO" 부분을 추가 하였습니다.
한글로 쓰기 위한 것이라 의미는 없겠지만 원본을 존중하는 차원에서...
추가 기능 설치는 파일 - 옵션 - 추가 기능 - 이동 - 찾아보기... 로 추가하시면 됩니다. 한글로시작v0.1.1.xlam
엑셀 2016 64bit 에서 테스트 되었습니다. 32bit에서 테스트(댓글에 결과) 부탁드립니다.
아래는 코드 부분인데 PtrSafe 추가 되는 것이 핵심입니다. ^^
Option Explicit
#If VBA7 Then
Private Declare PtrSafe Function GetActiveWindow Lib "user32.dll" () As Long
Private Declare PtrSafe Function ImmGetContext Lib "imm32.dll" (ByVal hwnd As Long) As Long
Private Declare PtrSafe Function ImmGetConversionStatus Lib "imm32.dll" (ByVal himc As Long, lpdw As Long, lpdw2 As Long) As Long
Private Declare PtrSafe Function ImmSetConversionStatus Lib "imm32.dll" (ByVal himc As Long, ByVal dw1 As Long, ByVal dw2 As Long) As Long
#Else
Private Declare Function GetActiveWindow Lib "user32.dll" () As Long
Private Declare Function ImmGetContext Lib "imm32.dll" (ByVal hwnd As Long) As Long
Private Declare Function ImmGetConversionStatus Lib "imm32.dll" (ByVal himc As Long, lpdw As Long, lpdw2 As Long) As Long
Private Declare Function ImmSetConversionStatus Lib "imm32.dll" (ByVal himc As Long, ByVal dw1 As Long, ByVal dw2 As Long) As Long
#End If
Private Sub Workbook_Open()
Dim himc As Long
Dim dwConversion As Long
Dim dwSentence As Long
Dim rc As Long
Dim temp As Long
Dim lang As String
lang = "KO" '한글 KO, 영어 EN
himc = ImmGetContext(GetActiveWindow())
rc = ImmGetConversionStatus(himc, dwConversion, dwSentence)
If rc <> 0 Then
temp = dwConversion
temp = temp And &H1
If temp <> &H1 Then
If lang = "KO" Then
dwConversion = dwConversion Or &H1 '한글로 시작
Else
dwConversion = dwConversion And &HFFFE '영문으로 시작
End If
rc = ImmSetConversionStatus(himc, dwConversion, dwSentence)
End If
End If
End Sub
댓글 [17]
-
지후빠 2020.10.28 14:03
-
네모의자 2020.10.28 14:33
엑셀 작업을 종종하는 사용자로서
유용한 자료 잘 사용하겠습니다
감사합니다
-
더불어삽시다 2020.10.28 14:45 감사드립니다.
-
왕초보 2020.10.28 15:01
가장 높으신분의 오더를 받으셨네요.. 당연히 최선을 다해야죠..
좋은 정보 감사합니다..
-
지후빠 2020.10.28 15:54
10개 가르켜 주면 주면 1개만 알아 듣더라구요. ^^; 제가 잘 못 가르킨다고 해서 그동안 통 모른 체하다,
하도 답답하게 엑셀을 쓰고 있어서, 작업 양이 많은 것 하나씩 골라 자동화 좀 해주려구요. ^^
-
Icarus 2020.10.28 15:43
Micosoft Prosessional Plus 2019 버전(64bit)에서는 적용이 안되나요?
-
지후빠 2020.10.28 15:47
2019가 없어서 테스트를 못했지만 기본적으로 될 것 같습니다. 안된다면 보통은 권한 문제입니다. ^^
지금 테스트해보니 2019 64bit 에서 잘 되네요.
-
샤 2020.10.28 17:32
수고하셨습니다.
-
농심신난년 2020.10.29 13:27 수고하셨습니다.
-
마라톤2 2020.10.29 14:26
수고 많이 하셨습니다. ^_^
-
지후빠 2020.10.29 14:39
댓글과 추천해주신 분 모두에게 감사합니다. ^^
-
Icarus 2020.10.30 14:13
잘 쓸께요~~~
고맙습니다.
-
knk3 2020.11.08 14:34 수고하셨습니다. 감사합니다.
-
윈포닥공 2020.11.20 10:56
유용한 강좌를 배려해주셔서 감사합니다...^^
-
와니 2021.01.10 01:06
2013 에서도 잘됩니다, 편히 잘쓰겠습니다, 고맙습니다.
-
지후빠 2021.09.26 20:47
-
할많하않 2022.02.05 23:21
2021 에는 안되나 봐요?
번호 | 제목 | 글쓴이 | 조회 | 추천 | 등록일 |
---|---|---|---|---|---|
[공지] | 강좌 작성간 참고해주세요 | gooddew | - | - | - |
3803 | 윈 도 우| 배치파일로 무설치 등록 프로그램 만들기 [4] | 슈머슈마 | 2326 | 8 | 11-30 |
3802 | 윈 도 우| 모든 Windows 10 키보드 단축키 목록 [16] | VₑₙᵤₛG | 3410 | 33 | 11-28 |
3801 | 윈 도 우| 엣지,크롬 등 북마크 클릭시 새탭+포커스로 열기 [5] | 오호라7 | 1359 | 6 | 11-27 |
3800 | 소프트웨어| Edge 업데이트 차단하기 [5] | 봄빛깔 | 2062 | 5 | 11-26 |
3799 | 기 타| Microsoft Defender SmartScreen Demo Pages |
|
1030 | 1 | 11-24 |
3798 | 소프트웨어| S3. 번역기-Firefox+Google Chrome용 부가 기능: 한국어 지원 [2] | VₑₙᵤₛG | 1169 | 6 | 11-24 |
3797 | 윈 도 우| 윈도우10 만능이미지 제작 메뉴얼 [43] | 질주민군 | 5661 | 64 | 11-19 |
3796 | 소프트웨어| Ventoy 설치 중 에러 [4] | 별내리는바 | 2384 | 4 | 11-16 |
3795 | 소프트웨어| OCR(문자 인식) 활용 & 자작 프로그램 [12] | 바이바이 | 2887 | 17 | 11-16 |
3794 | 소프트웨어| 리얼텍 오디오 드라이버 무한반복 설치 방지 방법 [2] | 좋게멋지게 | 4154 | 7 | 11-15 |
3793 | 소프트웨어| Resource Hacker™ 5.1.8 - 리소스 수정 설명 [5] | VₑₙᵤₛG | 1153 | 11 | 11-15 |
3792 | 기 타| bat로 포터블 만들기 간단 팁 [9] | 슈머슈마 | 2772 | 20 | 11-12 |
3791 | 윈 도 우| 윈도우 업데이트 통합본 defender 까지 통합을 원하면... [5] | 디폴트 | 1763 | 8 | 11-11 |
3790 | 윈 도 우| 20H2 19042.610에서 클래식 시스템 화면 보기 [6] | dreamsbk1 | 4326 | 18 | 11-03 |
3789 | 윈 도 우| PE 설치 스크립트 V7.12 [20] | 히이이잌 | 3813 | 41 | 10-30 |
3788 | 윈 도 우| PE 업데이트 스크립트 V1.14 [20] | 히이이잌 | 2590 | 40 | 10-28 |
» | 소프트웨어| 엑셀(64bit) 시작시 기본 한글 입력모드로 VBA [17] | 지후빠 | 1963 | 14 | 10-28 |
3786 | 윈 도 우| 20H2에서 예전 시스템 정보 보는 명령어 [12] | 현토리 | 2841 | 9 | 10-28 |
3785 | 소프트웨어| MS Office 2019 에서 VBA(visual basic) 사용 팁 | 오호라7 | 2056 | 5 | 10-27 |
3784 | 소프트웨어| 배치파일로 각종 대화상자 만들기 (The Wizard's Apprentice) [4] | 히이이잌 | 1974 | 11 | 10-27 |
수정하는데 5분 걸리는데 게시글 올릴때는 30분이 걸리네요. ㅠㅠ
엑셀 VBA로 필요한 기능 있으시면 댓글 주십시오. 혹시 할 수 있는 것이면 ... ^^