UiPath로 Excel 작업하기 (기본편)

6679 단어 ExcelUiPath

UiPath로 Excel을 자유롭게 조작하기 (기본편)



개요



이 문서에서는 UiPath에서 Excel을 API를 통해 조작할 수 있는 CurrentWorkbook을 가져오는 방법을 설명합니다.
CurrentWorkbook은 ExcelApplicationScope의 출력 항목인 WorkbookApplication 클래스 개체에 포함되어 있으며 Microsoft.Office.Interop.Excel 클래스의 Workbook 형식 속성입니다.
Microsoft.Office.Interop.Excel은 다음 API 문서와 같이 Excel에 대해 다양한 작업을 사용할 수 있습니다.

약속사항(면책사항)


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

  • 스킬



    이 기사에는 C#을 통한 맞춤 활동 개발이 포함되어 있습니다.
    사용자 지정 활동을 개발하는 방법은 UiPath 공식 문서를 참조하십시오.
    (본 기사에서는 최소한만 기재합니다.)
    htps : // / cs. 우이파 th. 코 m / 오 c ゔ ぃ 치 s / ぁ ぅ ㅇ / ㅇ cs / c 레 아 찐 g 아쿠 s

    필요한 소프트웨어


  • Visual Studio
  • Nuget 또는 Nuget Package Explorer
  • Microsoft Office

  • 절차



    1. 프로젝트 만들기



    Visual Studio에서 클래스 프로젝트를 만듭니다.

    2. 참조 추가


  • UiPath 공식 가이드대로, 「System.Activities」와 「System.ComponentModel.Composition」를 추가합니다.
  • 그런 다음 참조 추가에서 COM을 선택하고 Microsoft.Excel XX Object Library를 선택합니다.
    ※Office가 인스톨 되어 있지 않은 경우, 표시되지 않습니다.


  • 3. 구현



    코드는 다음과 같습니다.
    빌드하는 방법, Nuget Package 만드는 법은 할애합니다. (웃음)
    using Microsoft.Office.Interop.Excel;
    using System;
    using System.Activities;
    using System.ComponentModel;
    
    namespace UiPathCustomLibrary
    {
        public class GetWorkbook : CodeActivity
        {
            [Category("Input")]
            [RequiredArgument]
            public InArgument<Object> WorkbookApplication { get; set; }
            [Category("Output")]
            public OutArgument<Object> Workbook { get; set; }
    
            protected override void Execute(CodeActivityContext context)
            {
                object workbookapp = WorkbookApplication.Get(context);
                Workbook workbook =  workbookapp.GetType().GetProperty("CurrentWorkbook").GetValue(workbookapp) as Workbook;
                Workbook.Set(context, workbook);
            }
        }
    }
    

    4. 실행 확인



    Nuget Package Explorer에서 만든 라이브러리를 UiPath Studio에서 설치 한 후 즉시 사용해보십시오.



    현재(2020년 6월 시점)에서는, UiPath Studio가 Com 오브젝트에 대응하지 않기 때문에, Ouput 패널에서는 「__ComObject」라고 표시되고 있습니다만 정상입니다.

    취득한 오브젝트의 사용법은 다른 투고의 활용편에서 설명합니다.



    (조사 방법) UiPath Studio에서 속성 정보 얻기



    이번에 소개한 CurrentWorkbook의 속성에 대해 조사한 방법에 대해 소개합니다.
    먼저 Excel Application Scope의 활동에서 출력 항목의 WorkbookApplication을 가져옵니다.
    여기서는 변수명을 「w」로 정의하고 있습니다.

    다음으로 WorkbookApplicatio 형식에 포함된 속성 목록을 콘솔에서 살펴 보겠습니다.
    ForEach 액티비티에서 item을 "p"로 변경하고 형식을 Object에서 PropertyInfo 형식으로 변경합니다.
    in의 우측의 항목은 아래 그림과 같이, 「w.GetType(). GetProeprties()」를 설정해, 클래스 오브젝트가 보관 유지하는 프로퍼티의 일람을 1건씩 취득합니다.


    수행한 결과는 아래 그림과 같습니다.
    CurrentWorkbook이 Microsoft.Office.Interop.Excel.Workbook임을 알 수 있습니다.


    (실패) UiPathStudio에서는 얻을 수 없습니다.



    CurrentWorkbook에서 Workbook의 인스턴스를 캐스팅하고 실행하면 아래 그림과 같이 런타임에 오류가 발생합니다.
    더 이상 앞으로 나아갈 수 없습니다.


    좋은 웹페이지 즐겨찾기