NGMsoftware

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

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

    팁 앤 테크

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

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

    커스텀 1. 엔지엠 RPA 매크로에서 함수(Function)를 사용하는 방법.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 오늘은 함수에 대해 알아볼텐데요. 엔지엠 매크로는 완전한 GUI 방식을 사용하기 때문에 사용자가 임의로 Input, Output을 정의할 수 있는 함수를 만들 수 없습니다. 전통적인 프로그래밍 언어들은 모두 함수를 지원합니다. 오토핫키도 그렇죠. 엔지엠 매크로를 포함한 모든 GUI 매크로들은 함수를 정의하고, 사용하는데 한계가 있을수밖에 없습니다. 그렇지만, 간단하게나마 [ 서버 스크립트 ], [ 스크립트 실행 ] 액션을 이용해서 함수와 비슷한 효과를 낼 수는 있습니다.

    zzJ12Zx.png

     

     

    서브 스크립트와 스크립트 실행은 이름에서도 알 수 있듯이 매인 스크립트에서 분리된 별도의 스크립트입니다. 엄밀히 말해서 함수라고 할수는 없죠^^; 그리고, 서브 스크립트는 인풋 값과 아웃풋 값을 자유롭게 설정할 수 없습니다. 인풋(Input)은 함수에 전달할 파라메터를 말하고, 아웃풋(Output)은 함수에서 처리된 결과 값을 말합니다. 아마도... 비개발자분들은 벌써부터 혼란이 올겁니다. 생소한 용어들이 너무 많이 나와서요. 아무튼~ 서브 스크립트에서 인풋과 아웃풋은 [ 글로벌 변수 ]로 처리해야 합니다.

    MideVNq.png

     

     

    위와 같은 방식은 초급 또는 중급 정도의 사용자가 해볼 수 있는 함수 만들기입니다. 초급 및 중급은 비개발자로 엔지엠 에디터를 어느정도 사용해본 경험이 있는 분을 말합니다. 고급은 개발자분들을 대상으로 하는 내용입니다. 엔지엠 에디터에서 벗어나 자유롭게 매크로를 만들 수 있는 최고 경지를 말합니다. 엔지엠 에디터에는 디자이너(Designer), 프레임워크(Framework)뿐만 아니라 함수 또는 메소드를 만들 수 있는 패키지가 있습니다.

    ※ 디자이너는 GUI를 만들 수 있는 도구이며, 프레임워크는 엔지엠 매크로를 코딩 스타일로 만들 수 있게 해주는 도구입니다.

     

    함수 또는 메소드를 만들기 위해 엔지엠소프트웨어로부터 개발 도구를 요청하세요. 아래 3개 파일을 내문서 > NGM6 폴더에 복사하세요.

    [ 함수 개발 도구 요청 (엔터프라이즈 전용) ]

    IY0xlgp.png

     

     

    이제 아주 간단한~ 함수를 하나 만들어볼께요. 이 함수는 숫자 2개(파라메터)를 받아서 사칙연산 후 결과 값(Return Value or Result)을 반환해주는 기능을 합니다. 마이크로소프트의 비주얼 스튜디오(Visual Studio)를 실행하세요. 비주얼 스튜디오가 없다면~ 아래 링크에서 다운로드 후 설치하시기 바랍니다.

    [ Visual Studio Community Download ]

     

    비주얼 스튜디오를 설치하면서 워크로드는 아래 그림과 같이 .NET 데스크톱 개발에 체크하고 진행하세요. 뭐 복잡하게 여러가지가 많아 보이는데요. 엔지엠 에디터의 함수를 개발하기 위해서는 .NET 데스크톱 개발 하나만 있으면 됩니다.

    DH0jOx6.png

     

     

    비주얼 스튜디오를 실행하면 아래와 같은 화면을 볼 수 있습니다. 새 프로젝트 만들기를 클릭하세요.

    • 리포지토리 복제는 Github이나 마이크로소프트 Azure에서 소스를 클론할 때 사용합니다.
    • 프로젝트 또는 솔루션 열기는 로컬에서 개발중인 솔루션을 ㅇ렬 때 사용합니다.
    • 로컬 폴더 열기는 잘 사용하지 않습니다. C#이 아닌 경우 대부분 Visual Studio Code를 사용하기 때문입니다.

    cfvr6xT.png

     

     

    클래스 라이브러리를 검색하고, 아래 그림과 같은 프로젝트를 선택합니다. 그리고, 우하단의 다음 버튼을 클릭하세요.

    ※ 주의: 비슷한 프로젝트가 여러개 있는데요. 꼭! .NET Framework를 선택해야 합니다. (Core 아님)

    xfO4tsm.png

     

     

    작업 공간을 미리 만들었어야 했는데... 깜빡하고 넘어갔네요. 지금 만들어도 상관 없습니다. 저는 D드라이브에 MyWorkspace 폴더를 만들고 이 안에 ngm_custom_module폴더를 하나 더 추가했습니다. 이건 개인 설정이기 때문에 C드라이브나 E드라이브 어디에 만들어도 상관 없습니다.

    6S4XuKO.png

     

     

    아래 동영상을 참고해서 프로젝트 위치는 위에서 만든 폴더를 선택하고, 프로젝트 이름은 FirstCustomModule로 설정하세요.

    UeAY1F1.gif

     

     

    FirstCustomModule 프로젝트가 생성되고, 아래와 같은 기본 코드가 표시됩니다.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace FirstCustomModule
    {
        public class Class1
        {
        }
    }

     

    우측 솔루션 탐색기참조에서 우클릭합니다. 참조란~ 마이크로소프트에서 기본으로 제공하는 기능이 아닌 다른 제품의 기능을 사용하고 싶을 때 참조한다는 뜻입니다. 물론, 엄밀히 말하면 마이크로소프트의 기본이 아닌 다른 기능들을 사용할 때도 참조에 추가해야 합니다. 만약, 엔지엠소프트웨어와 같은 회사로부터 모듈(dll)을 받았다고 해서 개발할 수 있는건 아닙니다. 자신의 프로그램에 해당 모듈을 참조하고, 그 모듈이 제공해주는 기능을 사용하는겁니다.

    sPcFNmS.png

     

     

    아래 동영상을 참고해서 내문서 > NGM6 폴더에 복사한 3개의 모듈을 참조에 추가하세요.

    pzgilyH.gif

     

     

    여기까지해서 함수 또는 메소드를 만들 수 있는 준비를 마쳤습니다. 이 작업은 정확하게 말하면 커스텀 모듈을 제작하는 겁니다. 엔지엠 에디터에 액션을 추가하는건데요. 엔지엠의 각각의 액션들은 인풋(사용자로부터 입력 받은) 내용을 기반으로 내부에서 어떤 처리를 한 후 아웃풋(속성의 데이터)을 표시합니다. 이런 액션들도 엄밀히 말하면 함수라고 할 수 있습니다. 아웃풋이 없는 void도 있지만, 이건 논외로 하고요. GUI 프로그램들이 대부분 액션 또는 액티비티와 같은 용어를 쓰지만, 결과적으로는 용어만 다를뿐 모두 함수입니다^^; 다음 시간에는 사칙연산이 가능한 함수를 만들고, 엔지엠 에디터에서 어떻게 사용하는지 알아볼께요!

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    댓글목록

    등록된 댓글이 없습니다.