본문 바로가기

Autohotkey강좌

Autohotkey18. 나만의 Email 관리

반응형

https://youtu.be/6Yrb4fIX6N0

요즘 사무직 업무의 많은 부분은 Email을 주고 받으며 이루어진다. 그런 상황에서 효율적인 Email 프로그램을 사용하는 회사에서는 아무런 문제가 아니지만, 기본적인 자동화 기능을 제공하지 않는 Email프로그램을 어쩔 수 없이 사용하는 곳도 많이 있다. 이에 따라 그런 어려움을 겪는 사람들에게 도움이 될만한 나만의 Email관리 프로그램을 만들어 보고자 한다. 

 

<문제 상황>

어떤 종류의 메일을 특정인원에게 매번 전달해야 하는 상황이라고 가정한다. 메일 내용을 확인하고, 해당 내용을 전달해야 하는 경우 "전달"기능을 선택하고 수신인에 해당 인원의 메일 주소를 입력하고 본문에는 "FYI"라는 문구를 입력하고발송하는 경우를 예로 들어 보겠다.

 

우선 일의 순서대로 적어 보자.

1) 메일 열기

2) 메일 전달 선택

3) 수신인에 원하는 수신메일 주소 입력

4) 본문에 FYI(For Your Information)입력

4) 메일 발송

 

여기서 핫키로 기능을 제공하는 것을 찾아 보자. 우선 메일 전달은  FORWARD의 약자인  F를 입력하면 가능하고, 메일 발송기능은 Control Enter를 입력하면 가능하다.  따라서 남아 있는 부분은 수신메일 주소를 입력하고 본문에  FYI를 입력하는 것이다. 이 부분은 Send나 SendInput명령으로 가능하다.

 

1) 먼저 메일 전달하기는 f를 입력해야 하므로 Send(Input) f를 주고 sleep, 500정도만 주면 되겠다. 

2) 다음으로 수신인에 수신 메일 주소를 입력해 주는 것도 SendInput test@gmail.com 으로 주면 된다.(본인이 원하는 주소를 적어 주어야 하며, test@gmail.com 이라는 주소는 존재하지 않습니다) 역시 sleep, 500정도만 주면 되겠다.

3) 본문에 FYI도 역시 SendInput FYI로 충분하며 역시 Sleep, 500정도면 ok

4) 메일 발송을 위해 SendInput {Ctrl Down}{Enter}{Ctrl up} 으로 주면 정상적으로 처리가 된다. 역시 sleep, 500정도로 주면 충분하다.

한번 실험을 해 보자. 정상적으로 동작하는가? 당연히 정상동작된다.

 

자 다음으로는 보내기 기능을 해당 아이콘을 클릭해서 하려면 어떻게 해야 할까? 

일단 보내기 아이콘을 image로 찾아서 클릭해야 한다. 그러기 위해서는 ImageSearch기능을 사용하면 된다. 

ImageSearch, OutX1, OutY1, 0,0, A_ScreenWidth, A_ScreenHeight, *30 %A_ScriptDir%\Image\gmailsend.png

 

x좌표 0, y좌표 0부터 ScreenWidth와 ScreenHeight까지의 공간에서 현재 폴더 하위의 Image라는 폴더아래에 gmailsend.png라는 그림을  찾아서 그 좌표값을 OutX, OutY에 저장하라는 말이다. 여기서 *30 은 255가 최대일때 30정도까지의 오차는 허용한다는 얘기다.  기본값은 0이므로 정확히 같지 않으면 못찾을 수 있으므로 조금 여유있게 주는게 좋다. 그런데 이 ImageSearch의 결과를 확인은 어떻게 할까? ErrorLevel에 결과가 표시되는데 정상적으로 처리되면 0이 들어있고, 그렇지 않으면 오류 종류에 따라 1또는 다른 값들이 들어가게 된다. 따라서 0일 경우에만 정상적으로 찾았다고 보고 해당 좌표로부터 아이콘 그림을 클릭해야 한다. 그런데 그 결과로 저장된 OutX, OutY값은 해당 이미지가 위치한 좌표의 시작점이므로 실제로는 그 좌표보다 조금 더 큰 값을 주어야 안정적으로 해당 아이콘을 클릭할 수 있다. 따라서 해당 좌표에 10정도만 더해 주면 문제 없다. 그 부분은 다음과 같이 가능하다.

if(Errorlevel = 0)
 {
    MouseClick, left, OutX+10, OutY+10, 
    sleep, 500
 } else {
    Msgbox, Not Found Forward button
 }

 

실제로 동작하는 것을 보기 위해서는 아래 문장도 수정해야 한다.

  SendInput FYI {Ctrl Down}{Enter}{Ctrl up}

==> 

  SendInput FYI  

그리고 나서 해당 그림을 찾아서 클릭하도록 하면 동작이 된다. 

실험해 보자. 동작이 잘 될 것이다.

이 기본적인 예제를 가지고 각자 상황에 맞는 적절한 일처리를 하면 업무 자동화를 쉽게 할 수 있으니 잘 활용하시기 바라겠다.

 

mailfwd.ahk
0.00MB

반응형