NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 엑셀에 내용이 추가되면 추가된 내용을 업무용으로 처리하는 매크로 만들기.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 어떤 업무를 웹으로 처리한 후 이 처리된 값을 엑셀로 정리하는 일은 일반적인 회사라면 자주하는 단순 업무입니다. 반대로 엑셀로 정리한것들을 업무 마감전에 웹 또는 응용프로그램의 MES나 ERP, POP에 입력하는 작업도 많습니다. 단순 업무처럼 보이지만, 개발자가 아닌 일반인이 이런 업무 프로세스를 정리하고, 순차적으로 실행될 수 있도록 스택을 쌓아가는건 쉽지 않은일입니다. 물론, 조금만 복잡해져도 개발자도 쉽지 않은 일이거든요. 자동화라는게 그렇습니다. 아래와 같이 엔지엠 에디터를 실행하고 새로운 스크립트를 하나 추가해줍니다.

    cnOuw3h.gif

     

     

    그리고, 엑셀에 새로운 데이타가 입력되는걸 확인하기 위해 바탕화면에 새폴더를 하나 만들고, 여기에 빈 엑셀을 추가 했습니다.

    DoIGeDV.png

     

     

    첨부되어 있는 "엑셀 파일 변화 수만큼 반복하기.ngs" 스크립트를 에디터에서 열어줍니다. 생각보다 액션이 그렇게 많지는 않은데요. 그래도, 분석하려면 좀 머리가 아플겁니다^^;

    cndyOla.png

     

     

    우선, 위의 2개 [ 변수 ]는 엑셀의 처음 행 갯수와 엑셀에 데이타가 입력된 후 변화된 행 갯수입니다. 변수 아래에 엑셀 불러오기 액션은 선택한 엑셀 파일의 열과 행 갯수를 출력 해줍니다. 이렇게 알아낸 초기 값을 변수에 추가 해줍니다. 일단, 현재 엑셀의 열과 행 갯수를 변수에 저장했습니다.

    VWihLmX.png

     

     

    [ 폴더 변화 이벤트 ]를 통해 엑셀 파일에 수정이 있는지 체크합니다.

    6VxhrF7.png

     

     

    폴더 변화 이벤트가 어떻게 흘러가는지는 아래 그림을 참고하세요. 각각의 액션에서 초록색은 같음(참, True)일 때 이동할 액션의 아이디를 표시해줍니다. 그리고, 빨간색은 다름(거짓, False)인 경우 이동할 액션 아이디입니다. 다들 아시겠지만, 같음, 다름 또는 이동할 액션 아이디가 없으면 옆의 다음 액션(하늘색 화살표)으로 이동됩니다.

    1STP4tG.png

     

     

    아래 그림과 같이 행 갯수를 설정하면 줄바꿈됩니다. 스크립트뷰보다 흐름도를 파악하기에 좋습니다.

    UUKi3nP.png

     

     

    파일의 변화를 감지할 때까지 계속 실행되어야 하기 때문에 무한 반복 로직을 [ 그룹 ]과 [ 액션 이동 ]으로 처리했습니다.

    GiRnmBI.png

     

     

    엑셀 파일이 수정되었다면 아래 그림과 같이 그룹 2로 루틴이 이동됩니다.

    QAC9qLs.png

     

     

    위에서 초기 엑셀의 행 갯수를 변수에 저장했으니, 변화된 행의 갯수를 저장해야 합니다. 그래서 엑셀 불러오기가 하나 더 추가되어 있습니다.

    k6We0sA.png

     

     

    엑셀에 값이 몇개가 추가될지는 모르겠지만, 초기 행 갯수가 0이고, 추가된 행의 갯수가 3이라면 3번 반복될겁니다.

    A7UfjAm.png

     

     

    스크립트를 실행한 후 엑셀 파일에서 데이타를 넣어보세요. 아래 동영상은 각각의 행에 1, 2, 3을 입력 했습니다. 그리고, 파일을 저장하면 엑셀 파일 변화가 매크로에서 감지되고, 그룹 2로 루틴이 이동합니다. 그리고, 처음에 값이 아무것도 없기에 0으로 변수가 초기화되고, 변화 후에는 행 갯수가 3입니다. 그래서, [ For 반복 ]이 3번 실행됩니다. 3회 실행되는건 마우스 클릭으로 확인할 수 있습니다.

    X5eArxg.gif

     

     

    간단하게 엑셀의 내용 변화를 감지해서 서브 루틴으로 이동하고, 클릭하는것까지 만들어봤습니다. 실제 업무 로직은 더 복잡하게 동작할텐데요. 이 글에 첨부되어 있는 스크립트를 다운로드 후 마지막 클릭쪽에 동작해야 할 업무를 정리해서 추가하면 쉽게 적용할 수 있을겁니다. 설명이 좀 부실해서 잘 이해가 안되는 부분이 있을수도 있는데요. 커뮤니티의 질문과 답변 게시판에 질문 올려주시면 참고해서 내용을 보강하도록 하겠습니다.

     

    이 글이 도움이 되셨다면~ 커피 한잔이라도 후원 부탁드립니다^^

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    첨부파일

    댓글목록

    등록된 댓글이 없습니다.