본문 바로가기
Computer Science/RPA & Automation

[UiPath] Invoke Code (.Net VBA)

by Hwan,. 2020. 11. 16.
728x90
반응형

** 주석처리 문자열은 VBA의 경우 ' 이지만, Tistory 코드블럭 기능에는 VBA 하이라이팅 기능이 없으므로 C# 주석인 //를 사용함.

 

1. 디렉토리 검사 후 없으면 생성

// 디렉토리 경로 검사해서 없으면 생성
If Directory.Exists("directory_path") = False Then
    Directory.CreateDirectory("directory_path")
End If

// 특정 경로 내부의 특정 키워드를 가진 파일 찾기
// input : keyword
// output : str_result ( 키워드를 가진 Full Path의 파일명과 확장자)
for each str_file as String in Directory.getFiles()
	If str_file.contain("keyword") Then
    	str_result = Path.getFileName(str_file)
    End If
Next

 

2.  현재 프로젝트의 위치를 구한 뒤 파일 복사

Dim str_curPath As String = Directory.GetCurrentDirectory()

File.Copy("source_file.txt", str_curPath + "\dest_file.txt")

 

3. 날짜 문자열 다루기

// 오늘 날짜를 특정 형식의 문자열로 변경
now.ToString("yyyyMMdd")
now.ToString("yy년 MM월 dd일")
now.ToString("yy-MM-dd")

// 특정 형식의 문자열을 DateTime으로 바꾸기, 
DateTime.Parse("yyyy-MM-dd")
DateTime.Parse("yyyy.MM.dd")

// DateTime.Parse로 인식이 안되는 날짜 양식 처리
DateTime.parseExact("20210601", "yyyyMMdd", Nothing)

// 날짜 비교
If now > DateTime.parseExact("20210601", "yyyyMMdd", Nothing) And now < DateTime.parseExact("20210630", "yyyyMMdd", Nothing)Then
	Console.writeline("현재 월 : 6월")
End If

// 현재 주의 특정 요일 날짜 구하기 (금요일 기준, 원하는 요일은 DayOfWeek.Friday 이부분 수정)
now.addDays(Int32.Parse(DayOfWeek.Friday - Today.DayOfWeek).ToString).ToString("yyyyMMdd")

 

4. 프로세스 종료

For Each str_프로세스 As Process In Process.GetProcesses()
    If str_프로세스.ToString.Contains("iexplore") Then
        str_프로세스.kill
    End If
Next

 

5. 문자열 리스트에 문자열 추가하기, List To Array

Dim list_tmp As New List(Of String)

list_tmp.add(str_input) 'input 문자열을 List에 추가

Arr_output = list_tmp.ToArray()

 

6. 이름 중간부분 마스킹 처리하기

// Input Data
str_name = "테스트"

// 문자열 처리
Dim str_star As String
Dim int_i As Integer
Dim int_dest As Integer

If str_name.Length < = 2 Then
	int_dest = str_name.Length - 1
Else
	int_dest = str_name.Length - 2
End If

For int_i = 1 To int_dest
	str_star += "*"
Next int_i


// Output Data
str_result = str_name.Replace(str_name.Substring(1, int_dest), str_star)

// ***********************
// 결과 예시
// 테 -> Error
// 테스 -> 테*
// 테스트 -> 테*트
// 테스트테 -> 테**테
// 테스트테스 -> 테***스
// ***********************

 

7. 하위 디렉토리,파일 전체 복사

FileIO.FileSystem.CopyDirectory(Source 경로, Destination 경로)
728x90
반응형

댓글