반응형

Excel.Range 이슈

        i.          Legacy에서는 ‘Range’만 써도 Excel.Range가 인식되었으나, 23 이상 버전에서는 System.Range와 충돌

       ii.          Microsoft.Office.Interop.Excel.Range 식으로 Excel.Range 선언 및 호출 가능

      iii.          Invoke Code 추가내용: 속성 창에서 입력언어 CSharp 혹은 VB로 수정

      iv.          3번에서 수정된 언어는 스튜디오 언어와 별개 > 스튜디오 VB, Invoke Code CSharp

Excel.Range와 System.Range와의 차이

 

 

스튜디오 환경 - VB
Invoke Code 언어 속성

스튜디오 환경과 다르게 Invoke Code의 언어를 선택할 수 있다. (물론, VB와 C# 둘 중 하나지만)

결론으로는 이러한 이슈가 흔하지는 않지만 구버전을 신버전으로 컨버팅하는 프로젝트에선 꽤 비일비재했던 일이었다. 이 외에도 선택기의 V2 -> V3 의 컨버팅 이슈도 있다. 이 경우는 신버젼에 오면서 구 버젼의 선택기들이 모두 인식되지 못하던 이슈였다.

 

 

Selector V2, V3 이슈

V 버전 확인은 xaml을 직접 텍스트로 열어서 확인해야한다. 더욱이 컨버팅하는 프로젝트 대다수는 별도의 RPA계에서 운영이 이루어지는 경우가 허다해 어쩔 수 없이 메모장(Notepad 등)으로 열어서 수정해야했다.

 

Excel의 로그인 선택기

<uix:NClick ActivateBefore="True" ClickType="Single" DisplayName="Click '로그인'" sap:VirtualizedContainerService.HintSize="354,189" sap2010:WorkflowViewState.IdRef="NClick_43" KeyModifiers="None" MouseButton="Left" ScopeIdentifier="a2f54e68-0da0-4db4-83b8-33ea23a92593" Version="V3">

xaml로 열게 되면 코드로 열리는데, 액티비티 DisplayName 기준으로 찾으면 편하다. (즉, UiPath는 개발할 때 주석 뿐 아니라 DisplayName도 신경써주면 굉장히 유지보수하기 쉬워진다.) 그리고 해당 라인의 끝을 보면 Version이 명시되어 있는데, 이 부분이 구형 버젼의 선택기의 경우 V2로 되어있다.

그리고 해당 경우는 꼭 스튜디오 이슈만 있는 것이 아닌 게, 고객사의 사이트가 V2 -> V3로 버젼업 되는 경우다. 실은 이 경우가 가장 많았다. 많은 고객사가 아직 V2 사이트이다 보니 사이트가 업데이트 되면서 같이 RPA도 의뢰하는 형태의 성격인 것이다.

이러면, 구형 V2 선택기를 모조리 V3로 바꿔야 하는데, 어쩔 수 없다. 240821 기준 메모장 열어서 하나씩 V 버전을 맞춰줘야한다.

개발 간 이렇게 텍스트를 직접 열어서 수정하는 경우는 깨지고 그래서 성공률이 낮은 편이긴 하다ㅠㅠ 무운을 빌 뿐이다..

반응형
Posted by Lotus' Library
,