본문 바로가기

반응형

전체 글

데이터 변경되면 자동으로 실행하는 엑셀 매크로 https://youtu.be/kU0_jKsRXZg 엑셀 매크로를 어느 정도 만들 수 있게 되면, 데이터 변경될 때마다 별도의 단축키나 호출을 통해서 매크로를 실행하는 것도 불편해 지는 단계가 되는데 이때 사용할 방법을 알려 드립니다. 우선 특정 시트의 내용이 변경될 때 진행할지, 모든 시트의 내용이 변경될 때 진행할지에 따라 시작하는 위치가 달라집니다. 오늘은 특정 시트의 내용이 변경될 때 특정 매크로를 실행하도록 하겠습니다. 우선 오늘의 시나리오는 다음과 같습니다. Sheet1에 특정 학생들의 과목별 점수가 학생이름(무작위 순서)단위로 입력되고, 그 중에서 주요과목인 국어, 영어, 수학의 점수만 Sheet2에 복사해서 붙여 넣고, 해당 학생들의 이름 순서대로 정렬을 한 후에 정렬된 내용을 가로 세로를.. 더보기
Autohotkey #50, 오토핫키로 OCR(광학문자인식) https://youtu.be/ffHJhci_Ykk - YouTube www.youtube.com 오토핫키로 OCR(광학 문자 인식,Optical character recognition )을 구현하려는 노력을 훌륭한 분들이 이미 많이 해 놓으셨습니다. 그중에서도 Tesseract의 경우 현재는 구글이 운영하고 있는데 훌륭한 인식률을 제공합니다. 저희는 그것을 가져다 쓰면 됩니다. Tesseract lib는 다양한 언어를 제공하는데, Autohotkey용은 iseahound라는 아이디를 가진 분이 제공한 것이 좋은듯 합니다. 아래 링크에서 다운로드 받으면 됩니다. git원본 : https://github.com/iseahound/Vis2 귀찮은 분들은 아래 파일을 받으세요. 해당 파일을 다운로드한 후, 원.. 더보기
Autohotkey#49, 고정IP/유동IP Setting 자동화 https://youtu.be/DaPmUbUik_w - YouTube www.youtube.com 일하는 환경이 자주 바뀌는 분들의 경우, 유동IP와 고정IP간에 변환을 자주 변경해 줘야 하는 경우가 많이 있다. 그럴 때마다 매번, 네트웍 어댑터 설정에 들어가서 TCP/IP설정을 변경해 주는 과정은 대략 다음과 같다. 네트워크 및 인터넷 -> 어댑터 옵션 변경 -> => => 마우스 우클릭 => 속성 => => 인터넷 프로토콜 버전 4(TCP/IPv4) 이렇게 진입해서 원하는 IP로 변경하면 되는데, 매번 이렇게 바꾸는 것은 엄청 귀찮은 일입니다. 그래서 사용자의 네트워크 어댑터를 읽어 와서, 원하는 IP를 설정하도록 구성하려고 합니다. UI의 구성은 다음과 같이 하겠습니다. LAN어댑터 항목은 사용자의.. 더보기
Autohotkey#48, ControlSend와 SetTitleMatchMode https://youtu.be/VYvML03h9QI Focusing된 Window에 키를 내보낼때는 Send, SendRaw, SendInput, SendPlay, SendEvent를 사용하면 되는데, Background Window에 키를 내보려면 어떻게 해야 할까요? 바로 CotrolSend나 ControlSendRaw등을 사용하면 됩니다. 사용문법은 다음과 같습니다. ControlSend , Control, Keys, WinTitle, WinText, ExcludeTitle, ExcludeText Raw가 있고 없고는 어떤 차이가 있을까요? 아래의 예를 보시죠. ControlSend, Edit1, This is a line of text in the notepad window.{Enter} Cont.. 더보기
Autohotkey #47. Notepad++로 Autohotkey 스크립트 디버깅하기 https://youtu.be/2jTpXz5jHSM - YouTube www.youtube.com 지난번에 SCITE4Autohotkey로 디버깅하는 방법에 대해 소개해 드렸는데, 이번에는 Notepad++로 디버깅하는 방법을 알려 드리겠습니다. https://autohotkey4auto.tistory.com/5 에서 간략히 설명드린바와 같이 plugin을 설치하고 몇가지 단계를 거쳐야 합니다. 1) Autohotkey debugging용 plugin을 Notepad++ 에 설치하기 단순히 첨부 파일을 Notepad++설치폴더\plugin 아래에 복사하면 됩니다. 복사된 이후 Notepad++을 실행하면 plugin 메뉴 클릭시 -debugp메뉴가 생긴것을 볼 수 있다. 2) plugin 초기 설정 수정.. 더보기
Autohotkey#46, RandBetween, 특정 범위에서 실수 난수(Random number) 발생하기 https://youtu.be/odJGwIr_5v0 기존에 임의의 숫자 발생기는 단순히 임의의 숫자(난수, random number)를 발생시켰는데, 일반적으로는 특정 범위내의 난수를 발생시키는게 일반적이므로 이번에는 해당 기능에 대해서 구현하는 것을 설명드립니다. 다시 한번 random number를 발생시키는 문법은 아래와 같습니다. Random, no, StartNo, EndNo StartNo에서 EndNo사이에서 난수를 발생시켜 no에 저장합니다. 만약 원하는 갯수만큼 난수를 발생시키려면 loop를 그만큼 돌리면 됩니다. Loop %Count% { Random, no, StartNo, EndNo } 그렇다면, 해당 갯수만큼 발생시킨 결과를 하나의 변수에 저장하려면 어떻게 해야 할까요? 저장용 변수.. 더보기
Autohotkey#45, 엑셀 취합 v1.6(입력파일의 특정열을 취합파일의 다른 열에 복사하는 경우) https://youtu.be/B9EtxxusnRk 엑셀 취합 v1.5면 웬만한 경우를 다 감당한다고 생각했는데, 생각보다 다르게 사용하는 경우가 많은 것 같습니다. 일단 질문이 들어온 경우를 설명드리면, 입력 엑셀 파일에서는 B열을 복사해서 최종 취합할 엑셀 파일에서는 C열에 넣고 입력 엑셀 파일에서 E열을 D열에 취합하려면 어떻게 하냐는 것입니다. 다양한 방법이 존재하지만, 취합할 엑셀 파일이 기존에 사용하던 내용이라 손을 대기 어려운 상황이라서, 프로그램적으로 처리하기를 원한 경우라 생각됩니다. 그걸 해결하려면 구조를 수정해야 했습니다. GUI는 다음과 같이 변경했습니다. 우선 기존의 시작행과 종료행을 지정하는 방식대, 전체행을 복사하는 경우에 대한 방식을 RADIO버튼을 써서 선택하도록 해 주고,.. 더보기
Autohotkey #44, 엑셀 취합 수정본 v1.5(지정된 행만 취합하기) https://youtu.be/UhgcakmDS8A 기존 엑셀 취합 내용에 추가적인 요구사항이 있어서 수정된 버전을 올려 드립니다. 1) 시작행부터 종료행까지 지정하고자 하는 경우 2) 종료행을 지정하지 않고 최종행까지 취합하고자 하는 경우 3) 최종행은 합계행이므로 빼고 취합하고자 하는 경우 4) 시트명이 default이름인 Sheet1이 아닌 경우 등에 대한 내용이 반영되도록 수정한 버전입니다. 어지간한 취합은 대부분 감당할것으로 생각됩니다. 추가적으로 다른 경우가 있다면 좀 더 수정이 필요하겠습니다. 통상적으로 취합활동을 많이 하시는 분들에게 도움이 되기를 기대합니다. 먼저 시작행부터 종료행을 지정하고자 하는 경우입니다. 예제에서는 2행부터 6행까지 취합하는 경우입니다. 만약 한줄만 취합하려면 En.. 더보기

반응형