먼저.. 게임관련글이 아님을 사죄합니다 흑흑..
ㅠㅠㅠ
========원본매크로==================
^1::
WinGetActiveTitle, title1
MsgBox, title1 : %title1%
return
^2::
WinGetActiveTitle, title2
MsgBox, title2 : %title2%
return
^!1::
{
? ? MSGBOX, %A_Temp%
}
return
Home:: ? ; Excel to Batch
Loop, 100
{
? ??WinActivate, %title1%
? ??WinWaitActive, %title1%
? ??sleep, 500
? ??Send, ^c
? ??sleep, 500
? ??send, {down}
? ??sleep, 500
? ??WinActivate, %title2%
? ??WinWaitActive, %title2%
? ??sleep, 500
? ??send, ^v
? ??sleep, 500
? ??send, {enter}
}
MsgBox, 종료
return
보시는거처럼?WinGetActiveTitle를 이용하여 창 이름을 지정하게 한 후
A창을 불러 자료를 복사 > B창으로 붙혀넣기를 반복하고 있어요
물론 지금도 매크로를 잘 쓰고 있지만 이걸 사용하는 중에는 다른 문서업무를 못한다는 단점이 있습니다
하루에 2시간 정도 사용해야하는데 그동안 멍~하게있는게 좀 그래서 듀얼모니터인걸 활용해서
비활성화를 시키고 싶습니다.
===============================================================
제가 알기로 Controlsend의 경우
Controlsend,,명령어,창이름으로 알고있는데 아래에 있는 소스를 넣을경우
창 1번만 비활성화가 되고 창2번은 비활성화가 안되는 일이 생겼습니다.
심지어 복사도 제대로 못합니다 ㅠㅠ...
^1::
WinGetActiveTitle, title1
MsgBox, title1 : %title1%
return
^2::
WinGetActiveTitle, title2
MsgBox, title2 : %title2%
return
^!1::
{
? ??MSGBOX, %A_Temp%
}
return
Home:: ? ; Excel to Batch
Loop, 100
{
? ??WinActivate, %title1%
? ??WinWaitActive, %title1%
? ??ControlSend, , ^c, %title1%
? ??sleep, 500
? ??ControlSend, , {down},?%title1%
? ??sleep, 500
? ??WinActivate, %title2%
? ??WinWaitActive, %title2%
? ??sleep, 500
? ??ControlSend, , ^v,?%title2%
? ??sleep, 500
? ??send, {enter}
}
MsgBox, 종료
return
무엇이 문제인가요?
========================================
Postmessage의 경우 너무 어려워서 아직 사용해보진 못햇지만
한가지 궁금한 것이 생겨서 질문드립니다.
창 1번과 창2번을 비활성으로 지정하는 소스가 존재하는지의 여부가 궁금하며
그 둘을 위의 소스처럼 번갈아가며 작동시킬수 있는지가 궁금합니다..ㅠㅠ
게임관련질문은 아니지만 친절한 테일님들의 답변 기다립니다.
이곳이 그간 게임 위주가 되었긴 하지만 게임이 아니라고 해서 문제될건 없습니다.
WinActivate ;창을 활성화시키는 명령이죠
WinWaitActive ;창이 활성화될때까지 대기명령입니다.
위의 2가지 명령을 사용하시고 비활성을 논하시면 어떻합니까?
ControlSend ;타이틀,컨트롤을 바탕으로 비활성으로 처리하는 명령입니다. 이 명령어를 사용하시면 위의 2개의 명령어를 삭제해도 정상동작해야 합니다.
엑셀 COM함수를 사용하여 비활성 처리가 가능합니다-저는 엑셀 COM함수는 모름니다;;;