;<<엑셀에서>> Send, ^g ;컨트롤G 누르면 엑셀의 이동 기능 호출 sleep, 100 send, C4 ;C4셀주소 입력 Send, {enter} ;이동 sleep, 100 Send, ^{g} ;블럭설정을 위해 다시 엑셀의 이동 기능 호출 sleep, 100 send, X10 ;셀주소 X10 입력 send, ^v Send, +{enter} |
영문 자판이었으면 사실 별 문제가 없는 코드다. 그런데 엑셀에서 자판이 한글로 설정되어 있는 경우에는 아래처럼 된다.![]() |
C4를 C4로 타이핑하지 못하고 한글 자판 때문에 ㅊ4로 타이핑하게 되고 그로 인해 이동 기능을 제대로 작동시키지 못하게 되는 것이다. 그래서 이걸 해결하려고 막 내가 알고 있는 걸 다 총동원 했다. 그래봤자 Send랑 Sendraw랑 Sendinput으로 바꿔가면서 사용해봤는데 안 되더라 -_-? 어라 분명히 이거 되는 거 아니었나? 근데 안 되더라.
그런데 그럴 수밖에 없는 것이.. 내가 지금 공부를 해보니까..
Send는 그냥 평범한 Send고..
Sendraw는 ^+!#같은 특수키들 (순서대로 Ctrl Shift Alt Win)을 있는 그대로 특수문자로 표시하기 위한 명령어
Sendinput은 이 명령어가 작동하는 동안에는 물리적인 타이핑을 해도 그 타이핑이 오토핫키의 타이핑에 개입하지 못한다고 한다. 아니 그럼 그렇다면 Send 명령어로 문자 입력이 이루어지는 과정에서는 물리적인 타이핑으로 오토핫키의 동작에 끼어들 수 있다는 거구나?
그래서 지금 테스트를 해보니까
만약에 !autohotkey 를 타이핑한다면
Send, {!}autohotkey - 나열하듯 타이핑 치듯 출력됨. 촤르륵.
Sendraw, !autohotkey - 나열하듯 타이핑 치듯 출력됨. 촤르륵.
Sendinput, {!}autohotkey - 한방에 도장 찍히듯 뙇뙇뙇 출력됨. 촤르륵이 아니고 쾅쾅쾅. 찍는 느낌.
Sendraw는 문자열을 있는 그대로 출력하는 거라서 느낌표를 그냥 적어도 되지만 send나 sendinput의 경우에는 느낌표를 그냥 적을 경우 이를 Alt키로 인식해버리기 때문에 반드시 대괄호로 감싸줘야만 한다. 하여간 그래서 내가 저 위에 있는.. C가 ㅊ으로 출력되는 문제를 해결하기 위해서 sendraw나 sendinput을 사용해준 건 당연히 별 효과가 없을 수밖에 없었다. 그래서 거의 포기할까 하던 찰나에 한 줄기 희망이 보였으니 그것이 바로 Clipboard 명령어였다.
![]() |
Send, ^g sleep, 100 Clipboard = c4 ;셀 블록 설정 작업 시작 Send, ^v Send, {enter} sleep, 100 Send, ^{g} sleep, 100 Clipboard = x10 send, ^v Send, +{enter} |
이가 없으면 잇몸이다. 직접 타이핑을 하는 게 아니라 오토핫키의 Clipboard 기능을 이용해서 가상의 클립보드에 내용을 입력한 다음 이를 Ctrl+V 붙여넣기를 이용해서 붙여넣으면 되는 문제였다. 누구인지 몰라도 정말 잔머리가 잘 돌아간다. 정말 이런 거 하나하나 배우고 해결해 나갈 때마다 맛보는 희열이라는 게 너무나도 즐겁다. 시간 가는 줄 모르겠다. |
이렇게 해야 한다.
'컴퓨터 인터넷' 카테고리의 다른 글
파이참 No python interpreter configured for the project 오류 (0) | 2021.07.15 |
---|---|
오토핫키 매크로: 마우스 뒤로가기 버튼으로 엑셀 탭 이동(Xbutton::) (0) | 2021.07.09 |
오토핫키 요일에 따라 다른 곳을 클릭하게 만들기(오늘 요일에 따른 동작) A_Wday 명령어 (0) | 2021.07.08 |
오토핫키 WinwaitActive, Title or Class을 익혔다. (1) | 2021.07.08 |
윈도우10 명령어 모음(MicroSoft 공식 사이트) (0) | 2021.07.08 |
댓글