UiPath에서 라이브러리에 인수를 설정하고 호출

8294 단어 자동화RPAUiPath

UiPath에서 라이브러리에 인수를 설정하고 호출



이전 기사UiPath에서 라이브러리를 직접 호출의 확장편입니다.
UiPath 프로젝트 파일에 저장된 DLL에 대해 인수를 설정하고 호출하는 방법을 소개합니다.

개발 계기



최근에는 당연하지만 옛날에는 UiPath에서 사용자 정의 라이브러리를 만들려면,
Visual Studio에서 DLL을 만들고 Nuget Explorer 등에서 DLL을 nuget화하여 이용 밖에 없었습니다.

UiPath로 디버깅하기 위해 Immediate Panel이 없거나 현재 Com 및 람다 식을 디버깅 할 수 있습니다.
구문 분석할 수 없습니다.

약속사항(면책사항)



이 기사는 2020년 6월 시점의 정보를 바탕으로 작성하고 있습니다.
기사의 내용은 개인의 견해이며, 소속 조직의 공식 견해가 아닙니다.

맞춤 라이브러리



이전 기사에서 사용한 샘플 맞춤 라이브러리을 사용합니다.

소스 내용



이전 소스와 동일합니다.
이번에는 Test2 메서드를 사용합니다.
using System.Windows;

namespace UiPathCustomLibrary
{
    public static class TestClass
    {
        public static void Test1()
        {
            MessageBox.Show("Hello World");
        }
        public static void Test2(string message)
        {
            MessageBox.Show(message);
        }

        public static int Test3(int a, int b)
        {
            return a + b;
        }
    }
}

UiPath 프로젝트 구성



이쪽도, 전회와 같은 구성을 상정하고 있습니다.
사용자 정의 라이브러리 샘플(UiPathCustomLibrary.dll)은 프로젝트 바로 아래에 저장됩니다.



UiPath 구현



기본적으로는 이전과 같은 구현입니다. 변경점은 다음 3가지입니다.
  • 6. 변수 추가에서 1차원 배열 객체paramObj에 인수용 변수Object[]를 추가하고 7. 변수 값 설정에서 값을 설정합니다.
  • 7. 변수 값 설정에서 사용하는 메소드 이름을 Test1에서 Test2로 변경합니다.
  • 마지막으로, "10. 처리 호출"에서 인수를 설정 한 호출로 변경합니다.

  • 1. 어셈블리 변수 만들기



    UiPath에서 asm라는 변수를 만듭니다.


    2. 유형 변경



    asm 형식 Browse for Types...을 선택합니다.


    3. 형명



    유형 이름에 System.Reflection.Assembly를 입력하고 Assembly를 선택합니다.


    4. Assign 추가



    Assign(대입) 활동을 추가하고 왼쪽에 asm를 설정합니다.


    5. Assign의 값 설정



    Assign의 오른쪽에 다음 값을 설정합니다.
    Assembly.LoadFile( _
        Path.Combine( _
            Environment.CurrentDirectory, _
            "UiPathCustomLibrary.dll" _
        ) _
    )
    



    이제 DLL을 로드할 수 있습니다.

    6. 변수 추가



    실행할 메소드의 변수를 추가합니다.
  • 네임 스페이스 (usingName) : String
  • 클래스 이름 (className) : String
  • 메소드 이름 (methodName) : String
  • 인수( paramObj ) : System.Object[] or Object[]



  • 7. 변수 값 설정



    변수에 값을 각각 설정합니다.
  • usingName = "UiPathCustomLibrary"
  • className = "TestClass"
  • methodName = "Test2"
  • paramObj = {"Hello RPA World!"}



  • 8. 실행 결과 변수 추가



    실행 결과를 설정할 변수resultObj를 추가하고 변수 유형을 Object로 변경합니다.



    9. Assign 추가



    실행 및 실행 결과를 설정하는 Assign을 추가합니다.



    10. 처리 호출



    resultObj의 값을 다음 값으로 설정합니다.
    asm _
        .GetType( usingName + "." + className ) _
        .GetMethod(methodName) _
        .Invoke(Nothing, paramObj)
    



    UiPath 실행



    실행하면 Hello World 메시지가 표시됩니다.
    (메시지 상자가 전면에 표시되지 않으면 이미지와 같이 작업 표시줄에서 UiPathRobot의 익명 작업을 수행하지 마십시오.)



    끝에



    본 투고에서는, 메소드에 인수를 설정해 호출하는 방법을 소개했습니다.
    샘플의 커스텀 라이브러리로 준비하고 있는 Test3의 메소드나, 인수의 설정, 실행 결과의 취득에 대해서는, 별로 투고합니다.

    만약 좋으면 LGTM을 부탁드립니다.

    좋은 웹페이지 즐겨찾기