Power Automate for desktop로 기간계 시스템 재입력을 자동화하기 ── Excel·종이 수기 입력을 UI 자동화로 바꾸기

· 업데이트: · · Power Automate, RPA, 데스크톱 플로우, UI 자동화, Excel, 기간계 시스템, 업무 자동화, 기술 상담

수정 이력(4건, 최종 수정 2026년 08월 02일)

이 글에 적용한 변경 사항의 기록입니다. 보관해 둔 수정 전 버전은 DOI가 부여된 고정 URL에서 읽을 수 있습니다.

글 맨 앞에 「이 글의 지식 맵」 절을 추가했습니다. 본문에서 다루는 개념과 그 관계를 요약·그림·상세 페이지 링크로 정리한 것입니다. 본문의 주장은 바꾸지 않았습니다.
외부 리뷰(1283건)에 대한 대응으로 본문을 갱신했습니다. 개별 변경 내용은 아래 이력을 참조하십시오.
깨지기 쉬운 셀렉터의 대비표(무슨 일이 일어나는가, 고치는 방법)와 표기, 쓸 수 있는 연산자, 여러 셀렉터의 폴백을 추가했습니다. 무인 실행 체크리스트를 11개 항목 표로 정리하고, 머신 등록과 데스크톱 플로우 연결 절차, 액션 열 설정표를 추가했습니다. 라이선스 가격은 2026년 7월 시점 일본 대상 공개 가격으로 출처와 함께 기재했습니다.
본문 중 관련 글로 가는 링크 문구가 링크 대상의 현재 제목과 어긋나 있던 것을, 실제 제목에 맞췄습니다. 본문 내용은 바꾸지 않았습니다.
최초 공개
이 글을 인용하기(DOI(등록된 아카이브): 10.5281/zenodo.22174540)

아래 DOI는 이전에 등록된 아카이브를 가리키며 현재 본문과 다를 수 있습니다. 현재 본문을 참조할 때는 이 페이지의 URL을 사용하세요.

Go Komura (2026). 「Power Automate for desktop로 기간계 시스템 재입력을 자동화하기 ── Excel·종이 수기 입력을 UI 자동화로 바꾸기」. 합동회사 코무라소프트. https://comcomponent.com/ko/blog/power-automate-desktop-legacy-app-data-entry/

DOI(등록된 아카이브)
10.5281/zenodo.22174540
DOI(마지막 등록 버전)
10.5281/zenodo.22174541

‘웹 주문 폼이나 메일로 들어온 주문을 담당자가 매일 사내 판매 관리 시스템에 손으로 다시 넣는다’, ‘근태나 신청 Excel을 월말에 모아 기간계 시스템에 다시 입력하는 데 꼬박 이틀이 걸린다’. 이런 상담을 자주 받습니다. 공통점은 넣는 쪽이 10년, 20년 써 온 오래된 업무 시스템(WinForms나 VB6 시절 화면, 전용 클라이언트)이고, API도 CSV 가져오기도 없다는 점입니다.

시스템을 고치면 근본적으로 해결되지만, 벤더가 이미 없고 소스 코드도 없고 개수 비용이 안 맞아서 수기 입력이 남는 경우는 드물지 않습니다. 이 빈틈을 메우는 현실적인 도구가 Power Automate for desktop(PAD) UI 자동화입니다. 사람이 하던 키보드 입력과 마우스 조작을 그대로 재현하므로, 대상 시스템을 건드리지 않고 자동화할 수 있습니다. Windows 11이라면 따로 설치하지 않고 바로 해볼 수 있다는 점도 있습니다.

다만 UI 자동화는 ‘처음 돌리기는 쉽고, 안정적으로 계속 돌리기는 어렵다’는 도구이기도 합니다. 이 글에서는 재입력 업무에 한정해, UI 자동화를 택할지의 판단부터 무료로 쓸 수 있는 범위와 라이선스 경계, 안정 가동을 위한 설계, 실패 시 복구까지 정리합니다. Power Automate 전반의 역할 분담과 오류 처리 일반론은 ‘Power Automate로 업무를 자동화하기 ── 클라우드 플로우·데스크톱 플로우 역할 분담과 오류 처리 설계‘에서 다뤘으므로, 여기서는 재입력 업무의 각론입니다.

1. 먼저 결론

  • UI 자동화는 마지막 수단입니다. 넣는 쪽에 CSV 가져오기·데이터베이스 직접 투입·API·파일 연계 경로가 없는지 먼저 찾습니다. 하나라도 있으면 그쪽이 훨씬 안정적입니다.
  • PAD는 Windows 11에 기본으로 들어 있고, Windows 10에서도 무료로 설치할 수 있습니다. 레코더와 액션 400개 이상으로, Excel을 읽어 화면에 넣는 재입력 플로우는 노코드로 만들 수 있습니다.12
  • 플로우를 만들어 직접 실행하는 것(유인 실행)만이면 추가 비용이 없습니다. 회사 또는 학교 계정이든 Microsoft 계정이든 같습니다. 반면 클라우드 플로우에서 자동 시작·예약 실행·플로우 공유에는 Power Automate Premium 라이선스가 필요합니다.34
  • 야간 배치처럼 무인 실행(unattended)에는 여기에 더해 머신 등록과 Power Automate Process 라이선스가 필요합니다. 기술적으로도 ‘모든 사용자가 로그아웃한 상태일 것’ 같은 고유 전제가 있습니다.56
  • 안정 가동의 핵심은 셀렉터 만드는 법·요소 대기·1건 단위 예외 처리 세 가지입니다. 고정 Wait를 나열한 플로우는 언젠가 반드시 깨집니다.789
  • 실패했을 때 ‘어디까지 들어갔는지’가 보이도록, 원본 Excel에 상태 열과 등록 번호 열을 두고 1건마다 다시 쓰는 설계를 처음부터 넣습니다. 다시 돌려도 이중 입력이 생기지 않습니다.
  • 화면이 바뀌면 깨지는 한계는 없어지지 않으므로, 건수가 많거나 멈출 수 없거나 대상 앱 업데이트가 잦은 업무는 데이터 연계 개발이나 기간계 시스템 개수 영역입니다. 구분은 8장에서 정리합니다.

그림의 실선은 항상 성립하는 관계, 점선은 조건이 붙는 관계입니다(성립 조건은 상세 페이지의 관계별 설명에 적혀 있습니다). 관계 전체 목록(총 18건, 근거와 확신도 포함)과 주요 개념의 정의는 지식 맵 상세 페이지에 정리되어 있습니다(일본어). 데이터: JSON-LD / Turtle

2. 재입력 작업의 무엇이 문제인가

Excel이나 종이에서 기간계 시스템으로 다시 넣는 일은 ‘단순 작업에 시간이 간다’ 이상의 문제를 안고 있습니다. 상담을 받다 보면 공통으로 나오는 것은 다음 세 가지입니다.

  • 시간이 마감에 몰립니다. 매일 하는 수주 입력이면 그나마 흩어지지만, 월말 마감 청구나 근태 집계는 마감 직후 1~2일에 재입력이 몰립니다. 그 기간 담당자는 다른 일을 거의 못 합니다. 야근이나 지원으로 넘기는 회사가 많을 것입니다.
  • 입력 실수가 아래로 흘러갑니다. 자릿수 오타, 행이 밀림, 상품 코드 혼동. 재입력 실수는 청구서나 재고 수량으로 바뀐 뒤에야 드러나므로, 원인 조사와 정정 공수는 오타 자체의 몇 배가 됩니다. 이중 확인을 넣으면 실수는 줄지만 그만큼 시간은 늘어납니다.
  • 그 사람만 할 수 있는 일이 됩니다. ‘이 화면은 이 순서로 넣지 않으면 오류가 난다’, ‘이 거래처만은 넣는 법이 다르다’ 같은 요령이 담당자 머릿속에 쌓여, 그 사람이 빠지면 업무가 멈춥니다.

자동화의 가치는 시간 단축만이 아닙니다. 플로우는 정해 둔 대로만 넣으므로 재입력 실수가 사라지고, 절차가 플로우로 남으므로 담당자 의존도 줄어듭니다. 마감에 쌓이던 일을 평탄하게 만들 수 있다는 점도 큽니다.

참고로 원본이 종이나 FAX이면, 그 앞에 ‘읽기’ 단계가 필요합니다. FAX 주문서 OCR은 함께 공개한 ‘FAX 주문서를 AI Builder로 읽어 Power Automate로 처리하기‘에서 다루므로, 이 글에서는 원본이 ‘Excel 같은 데이터로 되어 있다’는 전제로 진행합니다.

3. 자동화 수단의 선택지 ── UI 자동화는 마지막 수단

먼저 강조하고 싶은 것은, 화면 조작 자동화(UI 자동화)는 선택지의 맨 마지막이라는 점입니다. UI 자동화는 화면 레이아웃, 해상도, 응답 속도 같은 ‘표시 사정’에 기대므로, 아무리 정성껏 만들어도 데이터를 직접 넘기는 방식보다 깨지기 쉬운 것은 피할 수 없습니다. 재입력 대상 기간계 시스템에 다음과 같은 경로가 없는지 먼저 확인합니다.

연계 수단 확인할 것 안정성 비고
CSV·고정 길이 파일 가져오기 메뉴 안쪽에 ‘외부 데이터 가져오기’, ‘일괄 등록’이 없는지. 벤더 매뉴얼·지원에 확인 높음 오래된 업무 시스템에도 의외로 있는 경우가 많음. 가져오기 파일 생성은 PAD나 PowerShell로 자동화할 수 있음
데이터베이스 직접 투입 DB 종류와 연결 정보를 알 수 있는지. 벤더 유지보수 계약상 직접 쓰기가 허용되는지 높음 업무 로직(번호 부여·정합성 검사)을 건너뛸 위험이 있으므로, 조회는 직접·갱신은 신중하게. 검증 필요
API·연계 미들웨어 비교적 새로운 버전의 패키지라면 연계 옵션이 없는지 높음 옵션 비용과 견줌
파일 연계(감시 폴더) 지정 폴더에 둔 파일을 가져오는 장치가 없는지 높음 장표 시스템이나 창고 시스템에서 흔한 형태
UI 자동화(PAD) 위 중 어느 것도 없는 경우 중간 화면을 손대지 않고도 되는 유일한 방법. 이 글의 주제

또 하나의 선택지는 재입력 자체를 ‘없애는’ 방향, 즉 기간계 쪽 개수나 재구축입니다. VB6 앱에 가져오기 기능을 더하거나, 웹으로 바꿔 수주 입구부터 다시 만드는 판단은 ‘VB6 앱은 언제까지 돌아가는가 ── 런타임 지원 현황과 현실적인 .NET 이전 진행‘과 ‘Windows 앱의 웹화, 하지 않는 편이 나은 경우 ── 판단표와 ‘분할’이라는 현실적 해법‘에서 정리했습니다. 개수에는 개발비가 들므로, 먼저 PAD로 자동화해 시간을 벌고 업무량이 늘어 한계가 보이면 개수에 투자하는 순서도 현실적입니다.

4. Power Automate for desktop의 기본

도입 문턱은 낮습니다

PAD는 Windows 11에 기본으로 들어 있습니다. 시작 메뉴에서 ‘Power Automate’를 검색하면 앱이 나오고, 처음 실행할 때 자동으로 내려받아 쓰기 시작합니다.2 Windows 10이나 Windows Server 2016에도 이용 권한이 있어, 다운로드 센터에서 무료로 설치할 수 있습니다.2 설치 방식은 Microsoft Store 버전과 MSI 설치 프로그램 버전이 있으며, 뒤에서 다룰 클라우드 연계(머신 등록)까지 보면 머신 런타임 앱을 함께 넣을 수 있는 MSI 버전을 고릅니다.10

레코더로 뼈대를 만듭니다

PAD에는 조작을 기록해 액션 열로 바꾸는 레코더가 있습니다. 마우스와 키보드 조작을 UI 요소와의 관계로 남겨 주므로, 재입력 플로우의 뼈대를 잡는 데는 충분히 실용적입니다. 여기서 재입력 업무에 도움이 되는 점은, 기록 방식으로 UIA(UI Automation)와 MSAA(Microsoft Active Accessibility) 둘을 고를 수 있다는 것입니다. UIA는 WPF·WinForms 등 비교적 새로운 앱용 권장 방식이고, MSAA는 VB6나 클래식 Win32처럼 UIA로 요소를 못 잡는 오래된 앱용 방식입니다. 오래된 기간계 화면에서 요소가 잘 안 잡히면, 레코더 기록 모드를 MSAA로 바꾸면 잡히는 경우가 있습니다.11

다만 레코더는 뼈대용입니다. 조건 분기나 루프는 기록하지 못하므로, 기록 후 디자이너에서 다듬어 마무리하는 것이 전제입니다.11

UI 요소와 셀렉터

PAD는 화면의 버튼이나 텍스트 상자를 ‘UI 요소’로 기억합니다. 실체는 창 계층과 속성 조합으로 요소를 가리키는 셀렉터입니다. 재입력 플로우의 수명은 거의 이 셀렉터를 어떻게 만드느냐로 결정됩니다. 연번 인덱스나 그때그때 바뀌는 ID가 셀렉터에 들어 있으면, 겉모습은 같은 화면인데도 어느 날 갑자기 못 잡게 됩니다.

셀렉터는 >로 계층(부모-자식 관계)을 나타내고, 각 요소를 요소[속성="값"] 형태로 씁니다. 예를 들어 메모장 창이면 :desktop > window[Name="Notes.txt - Notepad"][Process="Notepad"] 같은 형태입니다.7 레코더가 자동 만든 셀렉터는 이 ‘값’을 화면에 보이던 문자열 그대로 고정하므로, 다음과 같이 깨집니다.

깨지기 쉬운 셀렉터 무슨 일이 일어나는가 고치는 방법
window[Name="受注入力 - 2026/07/18"]처럼 날짜나 건수가 들어간 제목을 완전 일치로 지정 날짜가 바뀐 다음 날, 같은 화면인데도 맞지 않게 됨 속성 Name의 연산자를 ‘Equal to’에서 Contains로 바꾸고, 값을 ‘受注入力’만 남김
pane > pane > pane > edit처럼 그릇(pane) 계층을 깊게 고정 화면에 테두리가 하나 더해지기만 해도 계층이 어긋나 못 잡음 중간 계층을 끄고, 안정된 부모 창과 대상 요소만 남김
형제 요소 나열 순서(3번째 Edit 등)에 의존 입력 항목이 하나 늘거나 줄면 옆칸에 넣게 됨 순서가 아니라 Id(AutomationId) 같은 요소 고유 속성으로 가리킴. 못 가져오면 MSAA로 다시 잡는 것도 시도
edit[Name="得意先: 山田商事"]처럼 데이터에서 온 문자열을 완전 일치로 지정 거래처가 바뀔 때마다 실패 바뀌는 부분을 PAD 변수(%CustomerName%)로 바꾸거나 Regular expression match를 사용

셀렉터 편집 화면에서 쓸 수 있는 연산자는 Equal to / Not equal to / Contains / Starts with / Ends with / Regular expression match 여섯 가지입니다(정규식 방언은 .NET). 다만 시각 편집기에서 변수를 쓸 수 있는 것은 ‘Equal to’일 때뿐이므로, ‘변수로 일부를 끼워 넣기’와 ‘Contains로 부분 일치’는 동시에 못 쓴다고 보면 됩니다.7

그다음, 중요한 조작에는 예비 셀렉터를 등록합니다. 하나의 UI 요소에 셀렉터를 여러 개 둘 수 있고, 위에서부터 시도하다 실패하면 다음 셀렉터로 넘어갑니다. 깨졌을 때는 Repair selector로 복구 후보를 만들 수 있습니다. 이 발상 자체는 전체 가이드에서도 다뤘지만, 재입력 플로우에서는 수명과 직결되므로 본문에서 구체 예시까지 적었습니다.7

재입력 업무만의 주의가 하나 있습니다. UI 자동화 액션은 대상 창이 맨 앞에 있는 것을 전제로 움직이고, 맨 앞에 없으면 자동으로 앞으로 가져옵니다.12실행 중인 PC는 기본적으로 플로우 전용입니다. 담당자가 같은 PC에서 다른 일을 하면서 돌리는 운용은 잘못된 클릭·입력의 원인이므로 피합니다.

재입력의 기본 구성: Excel에서 읽어 화면에 씁니다

재입력 플로우의 기본형은 ‘Excel 액션으로 읽기 → 루프로 1건씩 UI 조작으로 쓰기’입니다. Launch Excel로 파일을 열고, Read from Excel worksheet로 범위를 읽으면 데이터 테이블 변수가 됩니다. ‘첫 행을 열 이름으로 사용’ 옵션을 켜 두면, 이후 루프에서 CurrentItem['得意先コード']처럼 열 이름으로 값을 참조할 수 있어 열 순서 변경에 강해집니다.13 결과를 다시 쓸 때는 Write to Excel worksheet를 씁니다. 행 끝에 이어 쓰고 싶으면 Get first free row on column으로 빈 행을 찾을 수 있습니다.13

5. 무료로 쓸 수 있는 범위와 라이선스 경계

PAD 도입을 판단할 때 반드시 나오는 질문이 ‘어디까지 무료이고 어디부터 유료인가’입니다. 경계는 ‘만들고 손으로 돌리기’와 ‘자동으로 돌리고 조직에서 관리하기’ 사이에 있습니다.

할 수 있는 일 Microsoft 계정 회사 또는 학교 계정(추가 라이선스 없음) Power Automate Premium
플로우 작성·레코더·액션 400개 이상·예외 처리
플로우 저장 위치 OneDrive(개인) 기본 환경의 Dataverse 여러 환경의 Dataverse
PAD 콘솔에서 직접 실행(유인 실행)
클라우드 플로우에서 시작(예약·이벤트 시작) × ×
플로우 공유·실행 로그 중앙 관리 × ×

작성과 직접 실행은 어느 계정이든 추가 비용이 없습니다.34 Microsoft 계정이면 플로우가 OneDrive에 저장되고, 회사 또는 학교 계정이면 기본 환경 Dataverse에 저장됩니다. 회사에서 쓸 때는 이후 관리를 생각해 회사 계정으로 시작하는 것이 기본입니다.4

경계를 넘는 것은 ‘사람이 버튼을 누르지 않아도 돌아가게’ 만들고 싶어질 때입니다. 데스크톱 플로우를 정해진 시각이나 이벤트로 시작하려면 클라우드 플로우에서 호출하는 구성이 필요하고, 여기에는 다음 준비가 필요합니다.14

  1. 머신 등록: 실행할 PC를 Power Automate 클라우드에 등록합니다. MSI 버전에 들어 있는 머신 런타임 앱으로 로그인하면 등록됩니다. 참고로 Windows 10/11 Home 에디션은 이 직접 연결을 지원하지 않습니다.10
  2. 데스크톱 플로우 연결: 클라우드 플로우가 그 머신에 로그인하기 위한 연결(Windows 계정 자격 증명)을 만듭니다.14
  3. 라이선스: 연결을 만드는 사용자가 실행 형태에 맞는 라이선스를 가지고 있어야 합니다.14 사람이 로그인한 PC에서 돌리는 유인 실행(attended)이면 Power Automate Premium(attended RPA 권한이 포함된 사용자 라이선스)이 필요합니다.106
  4. 무인 실행(unattended)에는 여기에 더해 Power Automate Process 라이선스를 머신에 할당합니다. Process 라이선스는 사용자가 아니라 머신(또는 플로우)에 붙는 라이선스이며, 머신 1대당 무인 실행 슬롯(무인 봇) 하나를 얻습니다. 주의할 점은, Process 라이선스를 할당하는 머신은 Premium 라이선스를 가진 사용자가 이미 등록해 둔 상태여야 한다는 것입니다. 즉 Process만 사도 Premium 사용자가 없으면 구성할 수 없습니다.56

머신 등록과 데스크톱 플로우 연결 절차

도입에서 가장 걸리기 쉬운 부분이므로, 조작 순서와 항목 이름을 적어 둡니다(항목 이름은 영어판 레이블을 함께 적습니다).

  1. 머신 런타임 앱을 넣습니다. PAD를 MSI 설치 프로그램으로 넣을 때, 설치 화면의 ‘Power Automate 클라우드 포털에 연결하기 위한 머신 런타임 앱 설치(Install the machine-runtime app to connect to the Power Automate cloud portal)’에 체크합니다.10
  2. 로그인해서 등록합니다. 시작 메뉴에서 ‘Power Automate machine runtime’을 실행해 로그인하면, 그 시점의 환경에 머신이 자동 등록됩니다. 미등록이면 실행 환경을 고르라는 안내가 나옵니다. 등록이 끝나면 머신 이름(Machine name)·설명(Machine description)·환경(Machine environment)이 표시됩니다.10
  3. 전제를 확인합니다. 등록하는 사용자에게는 환경의 ‘환경 메이커(Environment Maker)’ 또는 ‘Desktop Flows Machine Owner’ 역할이 필요합니다. 직접 연결은 PAD 2.8.73.21119 이후가 전제이며, Windows 10/11 Home 에디션에서는 쓸 수 없습니다.10
  4. 등록을 확인합니다. Power Automate 포털에서 ‘Monitor(모니터링)’ > ‘Machines(머신)’을 열면 등록된 머신 목록·상태·실행 중인 플로우 수를 볼 수 있습니다.10
  5. 데스크톱 플로우 연결을 만듭니다. 클라우드 플로우 쪽에서 데스크톱 플로우 액션을 추가하고, 액션 오른쪽 위 ‘…’에서 새 연결 추가를 고른 뒤, ‘연결(Connect)’ 칸에서 ‘머신에 직접(Directly to machine)’을 선택하고, 머신 이름과 그 머신에 로그인할 Windows 계정 자격 증명을 입력해 만듭니다.10
  6. 무인 봇을 할당합니다(무인 실행만). 포털의 머신 상세 페이지에서 ‘설정(Settings)’을 열고, ‘무인 봇(Unattended bots)’ 슬라이더로 프로세스 용량을 할당한 뒤 저장합니다. 여기서 할당한 수가 그 머신에서 동시에 돌릴 수 있는 무인 실행 개수가 됩니다.15

정리하면, ‘담당자가 아침에 버튼을 누르고 앞에서 재입력이 흐르는 것을 본다’는 운용이면 무료 범위에서 끝납니다. ‘밤에 알아서 끝나 있다’는 운용에는 Premium+Process(+등록된 머신)가 필요합니다. 비용 감각의 기준으로, 2026년 7월 시점 일본 대상 공개 가격은 Power Automate Premium이 사용자 1명당 월 2,248엔, Power Automate Process가 봇 1개(=머신 1대분의 무인 실행 슬롯)당 월 22,488엔입니다(모두 연간 결제·세금 별도).16 무인화의 최소 구성은 ‘Process 라이선스 봇 1개 + Premium 사용자 1명’이므로, 월 약 2만 5천 엔, 연 약 30만 엔이 고정비로 붙는 계산입니다. ‘매일 밤 30분 재입력을 무인화하려고 연 30만 엔을 낼 가치가 있는가’라는 비교가 됩니다. 가격은 바뀌므로, 판단 전에 Power Automate 가격 페이지에서 최신 금액을 확인하십시오. 재입력에 하루 30분 정도면, 먼저 무료 유인 실행으로 시작하고 건수가 늘어난 뒤 무인화를 검토하는 순서로 충분합니다. 라이선스 전반의 생각법(표준/프리미엄 커넥터 경계 포함)은 함께 공개한 ‘Power Automate의 라이선스와 표준·프리미엄 커넥터 경계‘에 자세히 정리했습니다.

6. 안정적으로 돌리기 위한 설계

고정 Wait가 아니라 ‘요소를 기다립니다’

오래된 기간계는 검색이나 등록의 응답 시간이 부하에 따라 크게 흔들립니다. ‘3초 대기’ 같은 고정 Wait로 맞춘 플로우는, 시스템이 느린 날에 반드시 깨집니다. Wait for window content 액션으로 ‘특정 UI 요소나 텍스트가 나타날(사라질) 때까지 기다리기’가 기본입니다.8 창 가져오기(Get window)에도 타임아웃을 둘 수 있어, ‘못 찾으면 지정 초에서 실패’로 둘지 ‘나타날 때까지 기다리기’로 둘지 고를 수 있습니다.8 ‘등록 완료 메시지가 나올 때까지 기다린 뒤 다음 행으로 간다’는 기다림이 재입력 플로우에서는 특히 중요합니다. 기다리지 않고 다음 입력을 시작하면, 앞 행 등록이 끝나지 않은 채 화면이 바뀌어 데이터가 섞입니다.

예외 처리는 ‘1건 단위’로 짭니다

재입력 플로우의 예외 처리는 플로우 전체가 아니라 루프 안 1건분을 On Block Error로 감싸는 것이 정석입니다. 오류가 나면 그 행의 실패 내용을 기록하고, 화면을 초기 상태(입력 화면을 닫고 메뉴로 돌아가기 등)로 되돌린 뒤 다음 행으로 갑니다. 이렇게 하면 100건 중 1건만 상품 코드가 틀려도 99건은 입력이 끝나고, 실패한 1건만 사람 손에 남습니다. 일시 오류(응답 지연 등)에는 액션 단위 재시도 설정도 함께 쓸 수 있습니다.9 오류 처리의 세부 요령(Get last error로 오류 내용 가져오기, 뒷정리 설계 등)은 전체 가이드와, 함께 공개한 ‘Power Automate의 오류 처리와 재시도 설계‘에 맡깁니다.

실패해도 ‘어디까지 넣었는지’가 보이게 합니다

UI 자동화에는 웹 시스템 같은 트랜잭션이 없습니다. 플로우가 중간에 죽으면 ‘어느 행까지 기간계에 등록됐는지’를 몰라, 다시 돌려 이중 입력하거나 전건을 눈으로 맞추는 둘 중 하나가 됩니다. 이를 막는 설계가 두 가지 있습니다.

  1. 원본 Excel에 상태 열을 둡니다. ‘미처리’, ‘처리 중’, ‘완료’, ‘오류’ 상태 열과, 기간계가 부여한 등록 번호 열을 준비합니다. 1건 입력을 시작하기 전에 ‘처리 중’으로 바꾸고, 등록 완료를 화면에서 확인해 등록 번호를 읽은 뒤 ‘완료’와 등록 번호를 다시 씁니다. 플로우 대상은 항상 ‘미처리’ 행만이므로, 몇 번을 다시 돌려도 이미 넣은 행은 건드리지 않습니다(재실행 안전).
  2. ‘처리 중’으로 남은 행만 사람이 확인합니다. 플로우가 죽는다면 입력 도중이므로, 의심스러운 것은 ‘처리 중’ 행뿐입니다. 다시 돌리기 전에 그 행만 기간계 쪽을 확인하면 되고, 대조 범위가 100건에서 1건으로 줄어듭니다.

이 상태 열은 그대로 실행 기록이 됩니다. ‘어제 재입력이 다 끝났는지’를 플로우 실행 이력을 보지 않아도 Excel만 열면 알 수 있습니다. 현장에 설명하기 쉬운 형태입니다.

무인 실행 환경의 함정

유인 실행에서는 돌아가던 플로우가 무인화한 순간 안 돌아가게 된다는 상담은 정말 많습니다. 원인은 대개 환경 차이입니다.

  • 세션 전제: 무인 실행에서는 Power Automate가 대상 머신에 원격 데스크톱(RDP) 세션을 새로 만들고, 실행 후 로그아웃합니다. 실행 중 대상 머신 화면은 잠긴 채로 둡니다. 전제로 머신은 모든 사용자가 로그아웃한 상태여야 하며, Windows 10/11에서는 누군가의 세션이(잠긴 상태여도) 남아 있으면 실행에 실패합니다. Windows Server에서는 연결과 같은 사용자의 잠긴 세션이 남아 있으면 오류가 됩니다. 유지보수 뒤에 ‘잠금’이나 ‘연결 끊기’로 자리를 뜨는 버릇이 있으면 밤 플로우가 멈춥니다. 반드시 로그아웃이 원칙입니다.5
  • 권한: 연결에 쓰는 사용자는 그 머신에 RDP 세션을 만들 수 있어야 합니다(보통 Remote Desktop Users 그룹 소속). 또한 무인 실행은 관리자 권한으로의 상승이 따르는 조작을 지원하지 않습니다.5
  • 화면 해상도: RDP 세션의 기본 해상도는 플로우를 만들 때 화면과 다를 수 있습니다. 해상도가 낮아지면, 만들 때는 보이던 UI 요소가 화면 밖으로 숨어 ‘요소를 찾을 수 없음’으로 실패하거나, 좌표 조작이 다른 곳을 누릅니다.5 대책으로 플로우 속성에서 ‘무인 실행 시 화면 해상도’를 만들 때와 같은 값으로 고정할 수 있습니다.17 DPI 배율 차이도 같은 종류의 실패 원인이므로, 만들 때와 실행 때를 모두 100%로 맞추는 편이 무난합니다.18

무인화 체크리스트

무인 실행의 전제는 라이선스·등록·환경·운용에 걸쳐 있고, 하나라도 빠지면 돌아가지 않습니다. 5장과 6장에 나온 조건을 표 하나로 모아 둡니다. 무인화에 나서기 전에 이 표를 위에서부터 지워 가십시오.

구분 확인할 것 빠지면 어떻게 되는가
라이선스 연결을 만드는 사용자가 Power Automate Premium을 가지고 있음6 머신 등록·연결 생성을 못 함
라이선스 대상 머신에 무인 봇(Process 라이선스에서 나온 프로세스 용량)을 할당함15 무인 실행이 시작되지 않음
등록 MSI 버전 머신 런타임 앱으로 머신을 등록함10 클라우드 플로우에서 호출하지 못함
등록 대상 머신이 Windows 10/11 Home 에디션이 아님10 직접 연결을 쓸 수 없음
세션 실행 시각에 모든 사용자가 로그아웃함(잠금·연결 끊기로 남기지 않음)5 실행에 실패함
권한 연결에 쓰는 사용자가 RDP 세션을 만들 수 있음(Remote Desktop Users 그룹)5 세션을 만들지 못해 실패함
권한 플로우에 관리자 권한 상승이 따르는 조작이 들어 있지 않음5 지원 대상이 아니라 실패함
화면 무인 실행 시 화면 해상도를 플로우 작성 시와 같은 값으로 고정함17 요소가 화면 밖으로 숨어 못 찾음
화면 DPI 배율을 작성 시·실행 시 모두 100%로 맞춤18 요소 인식이나 좌표 조작이 어긋남
운용 유지보수 뒤에는 ‘잠금’이 아니라 ‘로그아웃’하는 운용을 관계자에게 알림 야간 플로우가 멈춤
운용 원본 Excel 상태 열로, 다음 날 아침 어디까지 갔는지를 사람이 확인할 수 있음 실패 시 되돌릴 범위를 읽지 못함

이 부분을 검증한 뒤, 예약 시작(평일 매일 아침 6시 실행 등)을 클라우드 플로우 쪽에서 설정합니다. 영업일 판정이나 월말 처리를 포함한 예약 설계는 함께 공개한 ‘Power Automate의 정기 실행 플로우와 영업일 설계‘에서 다룹니다.

7. 재입력 플로우의 실례 설계

지금까지의 부품을 조합해, ‘주문 목록 Excel → 기간계 수주 입력 화면 → 결과를 Excel에 다시 쓰기’라는 전형적인 재입력 플로우를 설계하면 다음과 같습니다.

없음있음1건에서 오류 발생전건 처리 완료시작: 수동 또는 클라우드 플로우에서 시작Read from Excel worksheet주문 목록을 읽음 첫 행은 열 이름상태 열이 '미처리'인 행이 있는가처리 결과를 집계해 로그·알림종료기간계를 시작하고 로그인메뉴 화면 표시를 요소 대기로 확인미처리 행을 1건씩 루프루프 안을 On Block Error로 감쌈상태 열을 '처리 중'으로 갱신수주 입력 화면을 열고 항목을 입력화면이 바뀔 때마다 Wait for window content등록 버튼 → 완료 메시지를 대기부여된 등록 번호를 화면에서 가져옴상태 열을 '완료'로 하고 등록 번호를 다시 씀오류 내용을 행에 기록등록 전 실패는 '오류'/등록 후 실패는 '처리 중' 그대로화면을 메뉴까지 되돌리고 다음 행으로기간계에서 로그아웃하고 닫음

이 그림을 PAD 액션 열로 내리면 다음 순서가 됩니다. 디자이너에서 이 순서로 액션을 쌓으면, 위 그림이 그대로 돌아가는 형태가 됩니다.

# 액션 설정 포인트
1 Launch Excel 주문 목록 경로를 지정해 열고, Excel 인스턴스를 변수로 받음
2 Read from Excel worksheet 워크시트의 사용 가능한 값을 모두 가져오고, 상세 설정에서 ‘범위의 첫 행에 열 이름이 포함되어 있습니다’를 켬. 결과는 ExcelData
3 Set variable RowIndex2를 넣음(첫 행이 열 이름이므로 데이터는 2행부터)
4 Run application 기간계를 시작함(상시 실행이면 Get window로 기존 창을 잡음)
5 Wait for window content 로그인 후 메뉴 화면에 고유한 요소가 나올 때까지 기다림
6 For each ExcelData를 한 행씩 CurrentItem으로 돎
7 If CurrentItem['状態']가 ‘미처리’가 아니면, RowIndex를 Increase variable로 1 늘린 뒤 Next loop로 건너뜀
8 On block error 이후 9~13을 1건분 블록으로 감싸고, 오류 시 이동 위치를 14번 레이블로 함
9 Write to Excel worksheet RowIndex 행의 상태 열에 ‘처리 중’을 씀
10 Populate text field in window CurrentItem['得意先コード']처럼 열 이름으로 값을 꺼내 각 입력란에 넣음. 날짜·숫자는 문자열로 맞춘 뒤 넘김
11 Press button in window ‘등록’ 버튼을 누름
12 Wait for window content 「登録が完了しました」에 해당하는 요소가 나올 때까지 기다림(고정 Wait로 두지 않음)
13 Get details of the UI element in window → Write to Excel worksheet 부여된 등록 번호를 화면에서 읽어, RowIndex 행의 상태 열을 ‘완료’로, 등록 번호 열에 그 값을 씀
14 (오류 처리 블록) Get last error → Write to Excel worksheet 오류 내용을 가져와 RowIndex 행의 오류 열에 기록하고, Close window 등으로 화면을 메뉴까지 되돌림
15 Increase variable RowIndex를 1 늘리고 루프 앞으로 돌아감
16 Close Excel ‘문서 저장’으로 저장하고 닫으며, 기간계도 로그아웃하고 닫음

RowIndex를 별도 변수로 두는 이유는 For each가 행 번호를 돌려주지 않기 때문입니다. 건너뛴 행에서도 반드시 1을 늘리도록(절차 7) 해 두지 않으면, 다시 쓰는 위치가 한 행씩 밀립니다.

설계상의 포인트를 보탭니다.

  • 입력값 검증은 UI 조작 전에 합니다. 상품 코드 자릿수, 숫자 항목에 문자가 들어 있지 않은지, 필수 항목 누락. Excel을 읽은 직후 플로우 쪽에서 검증하고, 이상한 행은 기간계를 건드리기 전에 ‘오류’로 둡니다. 기간계 오류 대화 상자를 UI 조작으로 처리하는 것보다, 앞에서 걸러내는 쪽이 몇 배는 안정적입니다.
  • ‘오류’로 둬도 되는 것은 등록 버튼을 누르기 전의 실패뿐입니다. 오류 처리에서 상태 열을 일률적으로 ‘오류’로 바꾸면, 등록 버튼 조작이 성공한 뒤(완료 메시지 대기나 다시 쓰는 도중) 실패한 행까지 ‘오류’가 되어, 담당자가 그 행을 다시 돌려 기간계에 이중 등록하는 사고로 이어집니다. 등록 조작보다 뒤의 실패는 상태 열을 ‘처리 중’으로 남기고, ‘처리 중’으로 끝난 행은 재실행 대상에 넣지 않으며, 기간계 쪽 등록 여부를 사람이 맞춘 뒤 ‘완료’ 또는 ‘미처리’로 되돌리는 운용으로 합니다. 모호함을 지우는 것이 아니라, 모호한 채로 사람 확인에 넘기는 것이 이 설계의 핵심입니다.
  • 화면의 오류 대화 상자를 가정합니다. 그래도 입력 시 오류(재고 부족, 거래처 여신 오류 등)는 납니다. 예상할 수 있는 대화 상자는 ‘창이 포함되어 있는가’ 조건 분기로 잡아 행의 오류 내용에 기록하고, 예상 밖인 것은 On Block Error에 맡깁니다.9
  • 건수와 시간의 기준을 둡니다. UI 자동화는 1건에 수십 초가 걸리기도 합니다. 100건에 1시간이면 야간 무인 실행으로 충분하지만, 매일 수천 건이면 UI 자동화라는 수단 자체를 다시 볼 신호입니다(다음 장).
  • 원본 정규화는 앞에서 끝냅니다. 문자 코드나 날짜 형식의 흔들림, 전각·반각 혼재 같은 CSV·Excel 쪽 함정은 ‘CSV는 ‘그냥 텍스트’가 아니다 ── C# 업무 앱의 CSV 실무(문자 코드·Excel 호환·인젝션 대책)‘에서 정리했습니다.

8. 어디까지 PAD로 할 것인가

UI 자동화는 화면이 바뀌면 언젠가 깨집니다. 설계로 어떻게 할 이야기가 아니라, 이 방식의 한계입니다. 그래서 ‘PAD로 자동화해도 되는 재입력’과 ‘개발·개수로 가야 하는 재입력’의 구분을 가지고 있어야 합니다.

상황 판단
하루 수십~수백 건, 실패해도 다음 영업일 재실행으로 충분함 PAD로 충분. 먼저 유인 실행부터
대상 앱 화면이 몇 년째 안 바뀜(손대지 않은 레거시 앱) PAD에 맞음. 아이러니하게도 ‘안 바뀌는 화면’은 UI 자동화와 잘 맞음
대상 앱이 자주 버전 업됨(SaaS 웹 화면 등) 셀렉터 유지보수가 이어진다는 전제로 판단. 업데이트마다 깨지면 UI 자동화는 맞지 않음
매일 수천 건 이상, 실행 시간이 업무 시간을 압박함 UI 자동화 처리 속도로는 한계. CSV 가져오기 기능 추가 개발이나 데이터 연계 개발(위탁) 영역
멈추면 당일 출하·청구가 멈추는 핵심 업무 ‘깨지면 고칠 때까지 수기 입력으로 되돌린다’가 허용되지 않으면 UI 자동화는 부적합. 기간계 개수·시스템 간 연계 개발을 검토
재입력하는 김에 복잡한 업무 판단(재고 할당, 가격 결정)을 시키고 싶음 플로우에 업무 로직을 묻는 것은 유지보수가 버티지 못함. 업무 로직은 시스템 쪽에 둘 영역

판단 감각으로는 ‘이 플로우가 일주일 깨진 채로여도, 수기 입력으로 되돌리면 업무가 돌아가는가’를 기준으로 삼습니다. 돌아가면 PAD로 자동화할 가치가 충분합니다. 안 돌아가면, 그 재입력은 이미 ‘자동화’가 아니라 ‘시스템 연계’ 요건이며, 가져오기 기능 추가, 데이터베이스 연계, 또는 수발주 자체의 전자화(EDIFAX 수주의 웹 전환)를 검토할 단계입니다.

하나 더, PAD 플로우도 ‘만든 사람만 손댈 수 있는 자산’이 되기 쉽습니다. 플로우 내용·연결·실행 머신을 누가 이어받을지는 함께 공개한 ‘Power Automate의 담당자 의존 대책 ── 만든 사람이 그만둬도 플로우가 멈추지 않으려면‘에서 정리했습니다.

9. 정리

API도 CSV 가져오기도 없는 기간계로의 재입력은, PAD UI 자동화로 ‘시스템을 건드리지 않고’ 자동화할 수 있습니다. Windows 11이면 기본으로 쓰기 시작할 수 있고, 만들어 직접 돌리기만 하면 추가 비용도 없습니다. 담당자가 매일 1시간 재입력에서 벗어나고, 재입력 실수의 조사·정정이 사라지는 것만으로도 도입 공수는 충분히 회수됩니다.

다만 순서와 설계를 그르치지 않는 것이 중요합니다. UI 자동화 전에 CSV 가져오기·DB·API·파일 연계 경로를 찾을 것. 무료 유인 실행부터 시작해, 무인화에는 Premium+Process 라이선스와 로그아웃된 머신이라는 전제를 잡을 것. 셀렉터와 요소 대기와 1건 단위 예외 처리로 안정시키고, 상태 열을 다시 써서 ‘어디까지 넣었는지’를 항상 남길 것. 그리고 건수·중요도·화면 변경 빈도가 UI 자동화의 범위를 넘으면, 무리하게 키우지 말고 기간계 개수나 데이터 연계 개발로 바꿀 것입니다.

당사에서는 PAD 재입력 자동화의 설계 리뷰부터, 그 다음의 가져오기 기능 추가·시스템 간 연계 위탁 개발, 레거시 앱 이전까지 이어서 상담을 받습니다. ‘우리 기간계에서도 되는가’라는 단계부터도 편하게 문의하십시오.

관련 글

관련 상담 영역

합동회사 코무라소프트는 Power Automate for desktop 재입력 자동화의 설계·안정화 상담부터, UI 자동화로는 감당하지 못하는 기간계 데이터 연계 개발·레거시 앱 개수까지 다룹니다.

참고 링크

  1. Microsoft Learn, Get started with Power Automate in Windows 11. Windows 11에 미리 설치된 Power Automate 앱, 액션 400개 이상과 레코더로 코딩 경험이 없어도 플로우를 만들 수 있다는 점에 대해. 

  2. Microsoft Learn, Power Automate licensing FAQ. Windows 11 사용자는 기본 환경에서 유인 RPA 데스크톱 플로우를 추가 비용 없이 이용할 수 있고(공유나 다른 환경에서의 작성은 불가), Windows 검색창에서 Power Automate를 검색하면 처음 실행할 때 자동으로 내려받는다는 점, Windows 10·Windows Server 2016에도 이용 권한이 있어 다운로드 센터에서 받을 수 있다는 점에 대해.  2 3

  3. Microsoft Learn, Get started with a work or school account. 회사 또는 학교 계정에서 Power Automate for desktop 이용은 추가 비용이 없다는 점, 기본 환경에 Dataverse 데이터베이스가 필요하다는 점, 자동 실행이나 플로우 공유 같은 RPA 기능을 열려면 프리미엄으로 올려야 한다는 점에 대해.  2

  4. Microsoft Learn, Prerequisites and limitations. 로그인 계정 종류(Microsoft 계정/회사 또는 학교 계정/조직 프리미엄 계정)별 기능 비교. 레코더·액션·예외 처리는 모든 계정에서 이용할 수 있고, 클라우드 플로우와의 연결(시작·예약), 공유, 중앙 관리·보고는 프리미엄만 가능하다는 점, 저장 위치가 OneDrive 또는 Dataverse라는 점에 대해.  2 3

  5. Microsoft Learn, Run unattended desktop flows. 무인 실행에 Power Automate Process 플랜이 필요하다는 점, Power Automate가 RDP 세션을 만들고 실행 후 로그아웃한다는 점, 실행 중에는 화면이 잠긴다는 점, 모든 사용자 로그아웃이 필요하며 Windows 10/11에서는 잠긴 상태를 포함해 남은 세션이 있으면 실패한다는 점, 연결 사용자에게 RDP 세션 생성 권한(Remote Desktop Users 그룹)이 필요하다는 점, 관리자 권한 상승이 따르는 실행은 안 된다는 점, RDP 세션 기본 해상도가 작성 시와 달라 요소를 못 찾는 실패로 이어질 수 있다는 점에 대해.  2 3 4 5 6 7 8

  6. Microsoft Learn, Types of Power Automate licenses. 유인 RPA 권한(머신 등록·유인 실행 트리거 등)이 Premium 사용자 라이선스에 포함된다는 점, 무인 RPA에는 머신에 할당하는 Process 라이선스(머신 1대당 무인 봇 1개)가 필요하다는 점, Process 라이선스의 머신 할당은 Premium 사용자에 의한 머신 등록이 전제라는 점에 대해.  2 3 4

  7. Microsoft Learn, Build a custom selector. 셀렉터가 >로 계층을 나타내고 각 요소를 element[Attribute="Value"] 형태로 쓴다는 점(예: :desktop > window[Name="Notes.txt - Notepad"][Process="Notepad"]), 쓸 수 있는 연산자가 Equal to / Not equal to / Contains / Starts with / Ends with / Regular expression match 여섯 가지이며 정규식 엔진이 .NET이라는 점, 시각 편집기에서 변수 사용이 Equal to 연산자로 한정된다는 점, 하나의 UI 요소에 셀렉터를 여러 개 등록해 실패 시 다음 셀렉터로 넘어갈 수 있다는 점, 계층(레벨) 활성·비활성으로 탐색 범위를 바꿀 수 있다는 점에 대해. Repair selector로 복구 후보를 만드는 것도 함께.  2 3 4

  8. Microsoft Learn, UI automation actions. Wait for window content 액션으로 특정 텍스트·UI 요소의 출현/소멸까지 기다리기, Get window 액션의 타임아웃 설정(지정 시간 안에 못 찾으면 실패시킬지 계속 기다릴지 선택)에 대해.  2 3

  9. Microsoft Learn, Handle errors in desktop flows. On Block Error로 블록 단위 예외 처리, 액션 단위 재시도 설정(Retry action if an error occurs)에 대해.  2 3

  10. Microsoft Learn, Manage machines. 머신 런타임 앱(MSI 설치 프로그램에 포함. 설치 시 ‘Install the machine-runtime app to connect to the Power Automate cloud portal’을 선택)으로 머신을 등록하는 것, machine runtime에 로그인하면 선택 중인 환경에 자동 등록되어 머신 이름·설명·환경이 표시된다는 점, 등록에 Environment Maker 또는 Desktop Flow Machine Owner 역할이 필요하다는 점, 직접 연결이 버전 2.8.73.21119 이후를 필요로 하며 Windows 10 Home·Windows 11 Home에서는 쓸 수 없다는 점, 포털의 Monitor > Machines에서 등록된 머신을 확인할 수 있다는 점, 데스크톱 플로우 연결을 만들 때 ‘Directly to machine’을 고르고 머신 이름과 자격 증명을 입력한다는 점, 클라우드 플로우에서 데스크톱 플로우를 시작하려면 유인 RPA가 포함된 프리미엄 사용자 플랜이 필요하다는 점, 무인 실행에는 머신에 프로세스 용량(무인 봇) 할당이 필요하다는 점에 대해.  2 3 4 5 6 7 8 9 10

  11. Microsoft Learn, Record desktop flows. 레코더가 마우스·키보드 조작을 UI 요소와의 관계로 기록해 액션으로 바꾼다는 점, 기록 방식으로 UIA(WPF·WinForms 등 비교적 새 프레임워크용 권장)와 MSAA(VB6나 클래식 Win32 등 UIA 비대응 레거시 앱용)를 고를 수 있다는 점, 조건 분기나 루프는 기록하지 못해 기록 후 편집이 전제라는 점에 대해.  2

  12. Microsoft Learn, Automate desktop applications. UI 자동화 액션은 대상 창이 맨 앞에 있어야 하고, 맨 앞에 없으면 자동으로 앞으로 옮긴다는 점에 대해. 

  13. Microsoft Learn, Excel actions. Launch Excel로 인스턴스를 만드는 것, Read from Excel worksheet에서 단일 셀·범위 읽기(데이터 테이블화, 첫 행을 열 이름으로 다루는 옵션), Write to Excel worksheet로 쓰기, Get first free row on column으로 빈 행을 가져오는 것에 대해.  2

  14. Microsoft Learn, Trigger desktop flows from cloud flows. 클라우드 플로우에서 데스크톱 플로우를 시작하기 위한 전제(등록된 머신 또는 머신 그룹, 회사 또는 학교 계정, 데스크톱 플로우 연결, 연결을 만드는 사람이 실행 형태에 맞는 라이선스를 가질 것), 입출력 변수로 클라우드·데스크톱 사이 데이터를 넘긴다는 점에 대해.  2 3

  15. Microsoft Learn, Process capacity. Process 라이선스에서 나온 프로세스 용량을 머신에 할당하면 무인 봇이 되고, 무인 봇 1개당 동시에 무인 데스크톱 플로우 1개를 실행할 수 있다는 점, 할당은 머신 상세 페이지 ‘Settings’의 ‘Unattended bots’ 슬라이더로 한다는 점, 머신당 최대 봇 수가 OS에 따라 다르다는 점, 환경 안에서 용량이 공유된다는 점에 대해.  2

  16. Microsoft, Power Automate の価格. 2026년 7월 시점 일본 대상 공개 가격으로, Power Automate Premium이 사용자 1명당 월 2,248엔 상당(연간 결제), Power Automate Process가 봇 1개당 월 22,488엔 상당(연간 결제), 모두 소비세를 포함하지 않는다는 점에 대해. 

  17. Microsoft Learn, Set screen resolution on unattended mode. 무인 실행 시 해상도가 작성 시보다 낮아져 요소가 가려 실패하는 경우, 플로우 속성(Display resolution for unattended runs) 또는 레지스트리로 해상도를 고정할 수 있다는 점에 대해.  2

  18. Microsoft Learn, Troubleshoot unattended desktop flow execution failures. 유인·무인 세션 사이 해상도나 DPI 배율 차이가 실패 원인이 된다는 점, DPI를 설계 시·실행 시 모두 100%로 맞추는 등의 대책에 대해.  2

같은 태그를 공유하는 최신 기사입니다. 더 가까운 주제로 지식을 넓힐 수 있습니다.

이 기사와 가까운 토픽 페이지입니다. 기사를 출발점 삼아 관련 서비스와 다른 기사로 이어집니다.

이 기사는 다음 서비스 페이지로 이어집니다. 가까운 입구부터 확인해 주세요.

자주 묻는 질문

이 기사 주제에 대해 상담 시 자주 나오는 질문을 모았습니다.

Power Automate for desktop은 무료로 쓸 수 있나요?
쓸 수 있습니다. Windows 11에는 Power Automate 앱이 기본으로 들어 있고, Windows 10에서도 Microsoft 다운로드 센터에서 무료로 설치할 수 있습니다. 회사 또는 학교 계정에서도 추가 비용 없이 레코더, 액션 400개 이상, 예외 처리 등 플로우를 만들고 직접 실행(유인 실행)하는 기능은 모두 쓸 수 있습니다. 다만 클라우드 플로우에서 자동으로 시작하거나, 플로우를 공유하거나, 실행 로그를 한곳에서 관리하려면 유료 Power Automate Premium 라이선스가 필요합니다.
밤이나 이른 아침처럼 사람이 없는 상태에서 재입력 플로우를 돌리려면 무엇이 필요한가요?
무인 실행(unattended)에는 클라우드 플로우에서 호출하는 구성이 필요하며, 대상 머신 등록, 데스크톱 플로우 연결 생성, 머신에 할당하는 Power Automate Process 라이선스가 전제입니다. 머신 등록 자체도 Premium 라이선스를 가진 사용자가 해야 합니다. 기술적으로는 무인 실행이 원격 데스크톱 세션을 새로 만들어 동작하므로, 대상 머신은 모든 사용자가 로그아웃한 상태여야 하고, 잠긴 세션이 하나라도 남아 있으면 Windows 10/11에서는 실행에 실패합니다.
UI 자동화는 잘 깨진다고 하는데, 실무에서 쓸 만하나요?
대상 기간계 시스템의 화면이 안정적이면 실무에서 쓸 수 있습니다. 깨지는 원인 대부분은 UI 요소를 가리키는 방법(셀렉터)과 대기 부족이므로, 바뀌는 속성을 Contains나 정규식으로 바꾸고, 예비 셀렉터를 두고, 고정 대기가 아니라 요소가 나타날 때까지 기다리는 액션을 쓰는 설계로 안정도가 크게 달라집니다. 다만 화면 레이아웃이 바뀌면 깨지는 한계 자체는 없어지지 않으므로, 대상 앱 업데이트 주기가 짧거나 멈추면 업무가 멈출 만큼 건수·중요도가 큰 처리는 UI 자동화가 아니라 데이터 연계 개발이나 기간계 시스템 개수를 검토해야 합니다.
재입력 플로우가 중간에 실패하면, 어디까지 들어갔는지 모르게 되지 않나요?
설계로 막을 수 있습니다. 핵심은 원본 Excel에 상태 열(미처리·처리 중·완료·오류)과 등록 번호 열을 두고, 1건을 넣을 때마다 기간계 쪽 등록 결과를 확인한 뒤 상태를 다시 쓰는 것입니다. 이렇게 하면 실패 시 어느 행까지 등록됐는지가 Excel에 남고, 다시 돌려도 '미처리' 행만 대상으로 하므로 이중 입력이 생기지 않습니다. 1건 단위 예외 처리로 오류 행을 기록하고 다음 행으로 넘어가게 만들면, 한 건의 입력 실수로 전체가 멈추는 일도 피할 수 있습니다.

저자 프로필

기사 저자의 프로필 페이지입니다.

Go Komura

합동회사 코무라소프트 대표

Windows 소프트웨어 개발, 기술 상담, 장애 조사를 중심으로 재현이 어려운 장애 조사와 기존 자산이 남아 있는 프로젝트에 강점이 있습니다.

블로그 목록으로 돌아가기