uipath 꿀팁 모음

jwKim·2024년 2월 14일
1

🤖 UIPath

목록 보기
16/16

1. 데이터 타입 확인

변수명.GetType.ToString

2. 컬럼 이름 바꾸기

< assign 액티비티 >
dataTableVar.Columns("기존 컬럼 이름").ColumnName = "바꿀 컬럼 이름"

3. Data Row 객체 접근하기

Data Row 객체를 다루는 방법은 두 가지 있음

  1. 컬럼 인덱스 사용

    CurrentRow(1)
    → 1번째 컬럼 값 접근

  2. 컬럼 이름 사용

    CurrentRow("비고")
    → "비고" 컬럼 값 접근

4. 데이터 타입 변환 방법

데이터 타입 변환 방법은 두 가지 있음

예) 정수 → 실수

방법 1
Double.Parse(varINT)

방법 2
Convert.ToDouble(varINT)

다른 타입들도 동일하게 사용 할 수 있음

위 방법의 차이점은 null값에 대한 처리인데 Double.Parse는 변환하는 값이 null이면 에러를 반환하고 Convert.ToDouble은 null일 때 0을 반환함 → 해당 링크 참고

5. String 메서드

해당 링크 참고

6. Generic value

  • Generic 개념
    • 변수는 데이터 타입을 지정하고 그에 맞는 값을 담을 수 있음
    • 하지만 generic 변수는 담는 변수에 따라 그 타입이 지정됨
  • 장점
    • 여러 타입의 값을 모두 담을 수 있기 때문에 코드 재사용성 커짐
    • 형변환 고자어 생략되어 코드 줄임
  • 참고할 사이트

7. csv 인코딩

encoding 옵션에 "euc-kr"로 주기
(사용 가능한 인코딩 옵션은 여기에서 확인)

8. 날짜 함수

// 오늘 날짜
varSTR = Now.ToString("yyyyMMdd")

  • ToString 안에 원하는 형식 넣기
  • 시간, 분, 초까지 쓸 수 있으니 Today보다는 Now 쓰기

// 원하는 날짜를 받아서 날짜 타입으로 다루기
dateSTR = "2024.02.15"
// 내일
tomorrowSTR = Convert.ToDateTime(dateSTR).AddDays(1).ToString("yyyy-MM-dd")

9. Array, 데이터 테이블 앞 부분 자르기(skip)

반복문 테스트 할 때 전부 다 돌릴 순 없으니 앞 부분을 잘라내고 몇 개의 엘리먼트만 반복 돌릴 떄 유용함

arrVarARR.skip(10)
→ 앞에서부터 10개의 데이터 잘라냄(0~9번째 데이터는 잘라내고 10번째 데이터부터 살려놓음)

데이터 테이블도 이렇게 가능

dtVarDT.AsEnumerable.Skip(10).CopyToDataTable
→ 0~9 번째 로우 없애고 10번째 로우부터 살려놓음

10. 데이터 테이블 뒷 부분 자르기

VarDT.AsEnumerable().Take(500).CopyToDataTable()

11. type into에서 키보드 조작하기

예) "[k(enter)]" → 이러면 액티비티 하나 아낄 수 있음

  • k : 그냥 한 번 누르기
  • d : key down
  • u : key up

※ 이 방법은 simulate 일 때는 안됨

12. 데이터 테이블 만드는 순서

  1. 빈 데이터 테이블 선언
  2. 컬럼 추가
  3. 비어있는 로우 추가
  4. 데이터 추가

※ 이 때 반복문이나 코드를 최대한 줄일 수 있는 방법 고안

13. 데이터 테이블 전치

For Each를 중첩해서 작성(아래 사진 참고)

첫 번쨰 for each → 데이터 로우 객체를 받음
두 번째 for each → 하나의 필드(셀) 값을 받음

14. 배열 선언

// 길이가 정해져있는 배열 만들기
sampleARR = New String(3){"가", "나", "다"}

// 길이가 정해져있지 않은 배열 만들기(그렇다고 길이가 가변적인 것은 아님 → 리스트가 아니니까)
sampleARR = New String(){}

15. 데이터 테이블 컬럼 위치 변경

Invoke Method 액티비티 사용하면 됨

참고 : https://uipath.tistory.com/89

16. Select 문

// "측정소명" 컬럼 중 값이 "수내동"이거나 "인계동"인 데이터만 선택하는 예제
sampleDT.Select("[측정소명] = '수내동' Or [측정소명] = '인계동'").CopyToDataTable

컬럼 이름은 대괄호로 묶고 그 값은 작은 따옴표로 묶기

// "구매객수" 컬럼 값만 가져오기
sampleDT.AsEnumerable.Select(Function(row) row("구매객수"))

참고 : https://mpaper-blog.tistory.com/54

17. SecureString

// String을 SecureString으로 바꾸는 방법
New System.Net.NetworkCredential(String.Empty, "Sample Password).SecurePassword.ToString

// SecureString을 String으로 바꾸는 방법
new System.Net.NetworkCredential(String.Empty, secureStringVar).Password.ToString

참고 : https://forum.uipath.com/t/convert-securestring-to-string-get-secured-credential/1704

18. String 줄바꿈을 기준으로 split

왜인지 split 할 때 줄바꿈을 기준으로 하면 잘 안됨

stringVar.Split(Environment.NewLine.ToArray, StringSplitOptions.RemoveEmptyEntries

이렇게 하면 됨

19. 폴더 존재 여부 확인

Directory.Exists(folderDir)

20. DataTable <-> Json

// DT를 Json으로 바꿀 때
Newtonsoft.Json.JsonConvert.SerializeObject(varDT)

// Json을 DT로 바꿀 때
1. read text file로 json 파일 읽기
2. Newtonsoft.Json.JsonConvert.DeserializeObject(Of DataTable)(varSTR)

21. 시간

로딩 시간을 지정할 때 사용하는 방법

// 현재 시간
startDTM = now

// while 조건으로 아래와 같이 줌
startDTM.substract(now).Minute < 10

위와 같이 주면 10분까지는 while문이 수행되므로 시간을 기준으로 반복문 돌릴 수 있음

2개의 댓글

comment-user-thumbnail
2024년 4월 3일

꿀팁 감사합니다

1개의 답글