okmacro

홈 › 사용법 › 안 될 때

문제

안 될 때

매크로가 뜻대로 돌지 않을 때 대부분은 원인이 몇 가지로 정해져 있습니다. 증상을 먼저 찾고, 그 아래의 원인과 고칠 값을 보십시오. 무엇을 하든 잘못 돌기 시작하면 Pause 한 번으로 전부 멈춥니다.

완료라는데 대상이 반응하지 않는다

증상. 매크로는 끝까지 돌고 로그에도 성공으로 남는데, 대상 프로그램에는 아무것도 입력되지 않았습니다. 특히 게임·원격 데스크톱·가상머신에서 자주 나옵니다.

원인. 입력이 너무 빨라서 상대가 받지 못한 것입니다. okmacro 는 키를 눌렀다 떼는 데 1ms 밖에 쓰지 않는데, 그 사이에 키 상태를 읽지 않는 프로그램은 눌린 적이 없다고 봅니다. 보낸 쪽은 보냈으니 성공이고, 받는 쪽은 못 받았으니 아무 일도 없습니다. 양쪽 다 오류가 아니어서 오류 메시지가 전혀 나오지 않는 것 이 이 증상의 특징입니다.

해결. 설정 > 실행 에서 아래 값을 올립니다. 증상에 맞는 항목 하나만 올려 보고, 안 되면 조금씩 더 올립니다.

증상올릴 값권장
키가 아예 안 먹는다 (특히 게임·원격 데스크톱·가상머신)키를 누르고 있는 시간50~120ms
클릭이 아예 안 먹는다마우스를 누르고 있는 시간50~120ms
글자가 군데군데 빠진다글자 사이 간격20~40ms
창이 뜨기 전에 다음 동작이 나간다동작 사이 간격500~1200ms
  • 특정 키 하나만 더 오래 눌러야 한다면, 그 키보드 동작을 편집 해 '누르고 있는 시간' 을 따로 줍니다. 설정값은 하한으로 동작합니다
  • 기록(녹화)은 실제로 누르고 있던 시간을 그대로 남깁니다(0.05초 이상). 손으로 만든 동작보다 기록한 동작이 잘 먹는 이유가 이것입니다
  • 한글이 깨져 들어간다면 문자열 붙여넣기(클립보드)를 쓰십시오. 한 글자씩 보내는 방식은 입력기(IME)를 타서 깨집니다

동작 사이 간격을 0.5초 넘게 올렸다면 더블클릭을 클릭 두 개로 만들지 마십시오. 간격 때문에 그냥 클릭 두 번이 되어 버립니다. 더블클릭 동작은 하나의 동작이라 간격 설정과 무관하게 항상 더블클릭으로 들어가고, 기록할 때도 더블클릭은 하나의 동작으로 남습니다.

값을 끝까지 올려도 안 되면, 대상 프로그램이 가짜 입력 자체를 막는 경우 입니다 (치트 방지가 있는 게임 등). 이때는 어떤 매크로 도구로도 되지 않습니다.

엉뚱한 곳을 누른다

원인. 매크로가 깨지는 가장 흔한 원인은 절대 좌표 입니다. 화면 전체를 기준으로 한 좌표를 저장해 두면, 창을 옮기거나 해상도·배율이 바뀐 순간 그 자리에는 다른 것이 있습니다.

해결. 마우스·색 대기 동작에서 창 기준 좌표로 저장 을 켭니다. 그 창 안의 상대 위치로 저장되고, 실행할 때 창을 찾아 현재 위치 기준으로 환산하므로 창이 옮겨져도 같은 지점 을 누릅니다.

  • Ctrl+Alt+C 로 캡처하면 커서 밑의 창을 자동 인식해 제목을 채웁니다
  • 기록(녹화)은 기본이 창 기준 입니다(설정 > 기록 에서 끌 수 있습니다)
  • 같은 제목의 창이 여럿이면 가장 앞에 있는 창 을 씁니다

누를 자리를 사람이 정해도 되는 작업이라면 마우스 위치 를 켜는 방법도 있습니다. 좌표를 무시하고 실행하는 순간 커서가 올려져 있는 곳을 누르므로, 창이 옮겨져도 모니터가 달라져도 상관이 없습니다.

단축키가 안 먹는다

기본 단축키는 Ctrl+Alt 조합입니다 — 실행/중지 Ctrl+Alt+1, 일시정지 Ctrl+Alt+2, 연타 Ctrl+Alt+3, 기록 Ctrl+Alt+R, 캡처 Ctrl+Alt+C. 비상 정지는 Pause, 보조 실행 키는 Scroll Lock 입니다.

원인해결
오른쪽 Alt 로 누르고 있다 한국어 키보드의 오른쪽 Alt 는 한/영 키라 조합이 되지 않습니다. 왼쪽 Alt 로 누릅니다
예전 설정이 남아 있다 숫자패드·F9·F5 를 쓰던 파일을 그대로 쓰고 있으면 그 값이 유지됩니다. 설정 > 단축키 의 기본값(Ctrl+Alt)으로 되돌리기 를 누릅니다
다른 키와 겹친다 전역 키끼리 겹치면 지정할 때 어디와 겹치는지 알려 줍니다. 경고가 떴던 키라면 바꿔 주십시오
연타 키를 단축키로 잡으려 했다 단축키로 쓰고 있는 키는 연타 키로 지정할 수 없습니다. 지정할 때 알려 줍니다
엉뚱한 매크로가 돈다 매크로마다 전용 키를 둘 수 있습니다. 목록의 단축키 칸을 보십시오 — 기본 이면 공용 실행 키, Ctrl+Alt+7 처럼 적혀 있으면 그 매크로 전용 키입니다

연타는 이 프로그램 창을 조작하는 동안에는 동작하지 않습니다. 설정을 만지다가 오작동하지 않도록 일부러 그렇게 되어 있습니다.

창을 못 찾는다

원인. 창 활성화 동작은 제목으로 창을 찾습니다. 제목이 바뀌었거나(문서 이름이 제목에 들어가는 프로그램이 그렇습니다), 창이 아직 뜨지 않았으면 찾지 못합니다.

해결.

  • 창 활성화 동작에는 대기 시간 을 줄 수 있습니다. 창이 아직 없으면 지정한 초까지 기다렸다가 진행합니다
  • 프로그램부터 띄워야 한다면 프로그램 실행 동작을 앞에 둡니다
  • 창이 뜨는 데 걸리는 시간이 들쭉날쭉하면 실패 시 재시도 횟수를 줍니다(우클릭 메뉴)
  • 같은 제목의 창이 여럿이면 가장 앞에 있는 창을 쓴다는 점을 염두에 두십시오

툴바의 점검 을 누르면 없는 창 을 실행 전에 알려 줍니다. 돌려 보기 전에 한 번 눌러 보는 편이 빠릅니다.

이미지를 못 찾는다

원인. 이미지 찾기는 캡처해 둔 그림과 같은 그림을 화면에서 찾습니다. 화면이 아직 그려지지 않았거나, 캡처한 그림 파일이 빠졌으면 찾지 못합니다.

해결.

  • 점검 이 빠진 이미지 를 실행 전에 잡아냅니다. 매크로를 내보내기/가져오기로 옮겼을 때 먼저 확인할 곳입니다
  • 화면이 늦게 그려지는 경우라면 실패 시 재시도 횟수를 줍니다. 이미지 찾기는 흔들리는 동작이라 재시도가 가장 잘 듣습니다
  • 검색 영역 을 좁혀 지정합니다. 비슷한 그림이 화면 여기저기 있을 때 특히 그렇습니다
  • 색이 바뀌는 것을 기다리는 일이라면 이미지보다 색 대기 가 가볍고 안정적입니다

실행 중 따라다니는 상태창과 연타 표시는 화면 캡처에 잡히지 않습니다. 이미지 찾기를 방해하지 않도록 만들어져 있으므로, 그것 때문에 못 찾는 것은 아닙니다.

표 반복에서 {머리글} 이 안 바뀐다

원인. 표 반복은 문자열 안의 {거래처} 를 그 행의 값으로 바꿔 넣습니다. 바뀌지 않았다면 그 이름이 표의 머리글과 정확히 같지 않은 것입니다. 공백 하나, 글자 하나가 달라도 바뀌지 않습니다.

해결. 점검 을 누르면 {머리글} 오타와 표 0행 을 실행 전에 알려 줍니다. 경고 줄을 두 번 누르면 문제가 있는 동작으로 바로 갑니다. 번호로 쓰는 {1} 형태도 쓸 수 있습니다.

돌린 뒤에는 12행 중 10 성공 / 2 실패 요약이 로그와 key_macro.log 에 남습니다. 도구 > 결과 CSV 저장 으로 원본 열 + 결과 + 오류를 엑셀에서 열어 보고, 실패한 행만 다시 실행 으로 표를 새로 만들지 않고 이어서 처리합니다.

실행했는데 아무 일도 없다

입력은 들어가는데 반응이 없는 경우는 맨 위 항목이고, 여기는 아예 시작조차 안 한 경우입니다.

확인할 것내용
모의 실행이 켜져 있다 툴바의 모의 실행 체크박스가 켜져 있으면 실제 입력을 보내지 않고 로그만 남깁니다. 껐는지 보십시오
동작이 꺼져 있다 동작 목록에서 Space 로 끈 줄은 회색 ⊘ 로 표시되고 실행 시 건너뜁니다
다른 매크로를 골랐다 공용 실행 키는 목록에서 고른 매크로 를 돌립니다. 전용 키가 걸린 매크로는 선택과 무관하게 돕니다
예약 차례가 건너뛰어졌다 그 시각에 이미 매크로가 돌고 있었으면 그 차례는 건너뜁니다 — 예약 실행과 무인 운영

그래도 모르겠으면 실행 로그 를 보십시오. 동작별 기록과 실패 지점이 남고, 오류창에도 몇 번째 동작에서 왜 실패했는지 나옵니다. 실패한 줄은 붉게 표시되고 자동으로 선택되므로 몇 번째인지 눈으로 셀 필요가 없습니다.

긴 매크로라면 ▷ 테스트 로 반복 설정과 상관없이 한 바퀴만 돌려 보거나, 우클릭의 이 줄부터 실행 · 이 줄만 실행 로 의심되는 구간만 확인하십시오.

창이 사라졌다

원인. 두 가지입니다. 트레이로 숨었거나, 없어진 모니터 자리에 남아 있거나입니다.

  • 트레이로 숨은 경우 — 알림 영역의 아이콘을 두 번 클릭하면 돌아옵니다. 아이콘이 숨은 아이콘 ∧ 안쪽에 있어 못 찾겠으면 프로그램을 한 번 더 실행 하십시오. 두 개가 뜨지 않고 숨어 있던 창이 돌아옵니다
  • 모니터를 뗀 경우 — 도구 > 창을 화면 가운데로 로 되찾습니다. 다음에 다시 켤 때는 저절로 화면 안으로 돌아오고, 모니터가 작아졌으면 창 크기도 같이 줄입니다

두 모니터에 걸쳐 둔 창은 일부러 건드리지 않습니다. 제목 줄이 보이면 그대로 둡니다.

알려진 주의사항

키를 계속 내보내는 프로그램(일부 게임·오토클릭 도구)이 떠 있으면 그 입력이 매크로 입력에 섞여 들어갑니다. 매크로를 돌릴 때는 그런 프로그램을 끄는 편이 안전합니다.

기록할 때는 okmacro 창을 조작하는 동안의 입력과, 연타·매크로가 보낸 클릭이 기록되지 않습니다. 기록한 매크로에 동작이 비어 보인다면 이것 때문일 수 있습니다.

안정적인 매크로를 만드는 요령

  1. 창을 클릭해 활성화하지 말고 창 활성화 동작을 씁니다
  2. 좌표는 되도록 창 기준 으로 저장합니다
  3. 느린 프로그램은 지연을 늘리는 대신 색 대기 를 씁니다
  4. 빗나가면 로그 로 마지막 성공 지점을 보고, 의심되는 줄을 Space 로 꺼 가며 좁힙니다
  5. 단위 동작은 서브 매크로로 만들고 매크로 호출 로 조립합니다. 수정이 쉬워집니다

고치다 꼬였으면 Ctrl+Z 로 50단계까지 되돌릴 수 있습니다. 매크로를 통째로 지운 것도 되돌아오고, 무엇을 되돌렸는지 알려 줍니다. 더 거슬러 올라가야 하면 파일 > 이전 저장으로 되돌리기 에서 .bak1~3 중 시점을 골라 복구합니다.