UiPath에서 특정 메시지의 경우에만 클릭

5095 단어 RPAUiPath

소개



메시지 상자에 특정 메시지가 표시될 때만 클릭하고 싶을 때,
텍스트 취득(Get Value) 액티비티와 If(조건 분기) 액티비티를 사용하지 않고 UiExplorer에 있는 [앵커 선택] 기능을 사용하여 클릭 한 번 처리하는 방법을 소개합니다.
목표, 깔끔한 워크 플로 ★

메시지 내용으로 클릭하거나 하지 않음




메세지 박스의 버튼을 지정시에 취득한 셀렉터 요소에, 그 메세지 박스의 메세지가 들어가 있지 않다…
위의 이미지의 예라면, 【치킨】이 내보낸 경우에만 [예(Y)]를 클릭하고 싶지만, 취득 셀렉터의 어디에도 메시지 문자열 부분이 없어, 지정할 수 없습니다.

그런 때의 흐름의 편성, 여러분 어떻게 되어 있습니까?

상당히 많은 패턴으로, 메시지 박스의 텍스트를 취득해, 그 텍스트가 지정의 것이라면 조건 분기로 클릭…입니까.
(※그 외에는 앵커 베이스 Activity를 사용하는 방법이나, 클릭 텍스트 Activity에 클릭 위치 오프셋 설정하는 방법이라도 있을 것 같습니다만…할애!)

하지만 실은 이것, 클릭 Activity의 셀렉터 설정만으로 가능합니다.



설정 방법



1. 클릭 Activity의 요소 지정에서 메시지 상자의 예(Y)를 지정
우선 간단하게 클릭하고 싶은 요소를 지정합니다.

이 시점에서 당연히 메시지 상자의 메시지 내용에 관계없이 클릭합니다.
예의 이미지로 말하면, 【치킨】을 내어 와도 【천킨】을 내고 와도, 【혼자의 크리스마스】를 내고 와도, [예(Y)]를 클릭해 버립니다.

2. 이전 섹션에서 만든 클릭 Activity 선택기를 UI Explorer에서 열기

(※ 햄버거 메뉴 (≡)를 클릭해도 UI Explorer가 나오지 않는 Ver의 경우는 [선택기 편집] 화면의 왼쪽 하단에있는 [UI Explorer에서 열기]에서 열립니다)


3. 앵커 선택을 클릭합니다.


4. 메시지 상자의 메시지 요소 지정


5.완성

이제 메시지 상자에 특정 메시지가 표시될 때만 클릭합니다.
이 예에서는 치킨을 내밀었을 때만 [예(Y)]를 클릭해 줍니다.

요약



UiPath로 앵커라고 하면 앵커 베이스 Activity를 사용하지 않으면 안 되는 생각이 든다(그리고 8할위의 사람이 「뭔가 귀찮은 것 같은… 할 수 있는 우수한 기능입니다.
비슷한 버튼을 메시지를 바탕으로 구별하면서 처리해야 할 때 등, 꼭 꼭 시험해 주세요.

샘플 VBA



[산타씨] 프로시저를 실행하면 무작위로 치킨과 치킨 같은 것을 메시지 박스에 표시합니다(1초간)
치킨 표시 시 [예(Y)]를 클릭하고, 그 외 표시 시 [예(Y)]를 클릭하면 다음에 표시되는 메시지 상자가 변경됩니다.

참고 사이트
난수 생성
htps : // v 바베 긴 r. 네 t/v바 % 3% 81% 아 7% 에 4% B9% B1% 에 6% 95% B0% 에 3% 82% 92% 에 7% 99% 3% 81% 95% 에 3% 81% 9B% 에 3% 82% 8B% 에 F% BC% 88rd d 에 3% 80% 81 란도 미제% 에 F% BC% 89/

자동으로 닫는 메시지 상자
ㅜㅜㅜㅜㅜㅜㅜぃ네 t / 에 x 세 l / v 바 / 치 ps / 치 ps21. htm

샘플 사용한 ExcelVBA 코드

Option Explicit
Function PresentForYou() As String
Dim iMin    '// 最小値
Dim iMax    '// 最大値
Dim ret     '// 乱数
Dim presents() As Variant '// 配列

iMin = 0
iMax = 4
presents = Array("チキン", "チキソ", "チ‡ン", "千キン", "チキ冫")

'// 疑似乱数列を初期化
Call Randomize

'// 最小値から最大値の範囲の乱数を取得
ret = Int((iMax - iMin + 1) * Rnd + iMin)

PresentForYou = presents(ret)

End Function

Sub 산타()
Dim WSH As Object
Set WSH = CreateObject("WScript.Shell")
Dim Partybarrel As String   '// 乱数取得した値
Dim Myvar   '// メッセージボックスでクリックされた値(6=[はい])
Partybarrel = PresentForYou()   '//PresentForYouから引き渡される値

Myvar = WSH.Popup("「 ̄ヽ、" + vbNewLine + _
                  "|二二)O" + vbNewLine + _
                  "|・ω・`)つ " + Partybarrel, 1, "プレゼントだよ!", vbYesNo)

Set WSH = Nothing

If Myvar = 6 Then

    If Partybarrel = "チキン" Then

        MsgBox "Merry Christmas" + vbNewLine + _
                "   ∧∧" + vbNewLine + _
                "  (*゚ー゚)" + vbNewLine + _
                "☆☆""∪∪""ミ☆☆" + vbNewLine + _
                "‥‥‥▲‥*‥‥" + vbNewLine + _
                "‥*‥▲▲‥‥‥" + vbNewLine + _
                "‥‥▲▲▲‥‥*" + vbNewLine + _
                "*‥▲▲▲▲‥‥" + vbNewLine + _
                "‥‥‥■‥‥*‥"

    Else

        MsgBox "残念だったな…"

    End If

End If

Set WSH = Nothing

End Sub

좋은 웹페이지 즐겨찾기