Power Automate를 사용하면 Word 문서에 고객명, 계약일, 금액, 품목 목록 같은 값을 자동으로 삽입해 문서를 생성할 수 있습니다.
예를 들어 계약서, 견적서, 청구서, 확인서, 신청서 등을 자동으로 만들 수 있습니다.
하지만 Word 파일을 그냥 일반 문서처럼 작성하면 Power Automate가 변수를 인식하지 못합니다.
자동으로 값을 넣으려면 Word 파일을 템플릿 형태로 작성해야 하며, 핵심은 콘텐츠 컨트롤(Content Control)을 사용하는 것입니다.
먼저 작업을 위해서는 MS WORD에서 파일 > 옵션 > 리본메뉴 > 개발자 항목을 선택해야 합니다.
1. 핵심 개념: 일반 텍스트가 아니라 콘텐츠 컨트롤을 사용해야 한다
Power Automate의 Word 자동화 기능은 Word 문서 안에 있는 콘텐츠 컨트롤을 변수 입력 필드로 인식합니다.
예를 들어 Word 문서에 아래처럼 단순히 텍스트를 적어두면 Power Automate가 자동 입력 필드로 인식하지 못합니다.
{{CustomerName}}
{{ContractDate}}
{{Amount}}대신 Word의 개발 도구 탭에서 콘텐츠 컨트롤을 삽입해야 합니다.
예를 들어 다음과 같은 항목을 콘텐츠 컨트롤로 만들어야 합니다.
| 문서에 넣을 값 | 콘텐츠 컨트롤 이름 예시 |
|---|---|
| 고객명 | CustomerName |
| 계약일 | ContractDate |
| 계약금액 | Amount |
| 담당자 | ManagerName |
| 주소 | CustomerAddress |
즉, Power Automate에서 자동 수정 가능한 Word 파일을 만들려면 변수가 들어갈 위치마다 콘텐츠 컨트롤을 넣고 이름을 지정하는 방식으로 문서를 작성해야 합니다.
2. Word에서 개발 도구 탭 활성화하기
콘텐츠 컨트롤을 넣으려면 Word의 개발 도구 탭을 먼저 활성화해야 합니다.
Word 데스크톱 앱에서 다음 순서로 설정합니다.
파일 → 옵션 → 리본 사용자 지정 → 개발 도구 체크 → 확인설정이 완료되면 Word 상단 메뉴에 개발 도구 탭이 표시됩니다.
참고로 Word Online에서는 개발 도구 탭을 사용할 수 없기 때문에, 템플릿 작성은 Word 데스크톱 앱에서 하는 것이 좋습니다.
3. 변수 위치에 콘텐츠 컨트롤 삽입하기
변수를 넣고 싶은 위치에 커서를 둔 뒤 다음 순서로 콘텐츠 컨트롤을 삽입합니다.
개발 도구 → 컨트롤 → 일반 텍스트 콘텐츠 컨트롤예를 들어 계약서에 고객명을 자동으로 넣고 싶다면, 고객명이 들어갈 위치에 일반 텍스트 콘텐츠 컨트롤을 삽입합니다.
그다음 콘텐츠 컨트롤을 선택한 상태에서 속성을 클릭하고, Title 또는 Tag에 변수명을 입력합니다.
예시:
CustomerName
ContractDate
TotalAmount
ManagerName작성된 Word 문서는 아래와 같은 구조가 됩니다.
계약서
고객명: [CustomerName 콘텐츠 컨트롤]
계약일: [ContractDate 콘텐츠 컨트롤]
계약금액: [TotalAmount 콘텐츠 컨트롤]
담당자: [ManagerName 콘텐츠 컨트롤]여기서 중요한 점은 대괄호 안의 텍스트를 직접 입력하는 것이 아니라, 실제 Word 문서에는 해당 위치마다 콘텐츠 컨트롤이 들어가야 한다는 것입니다.
4. Power Automate에서 사용할 수 있는 콘텐츠 컨트롤 종류
Power Automate의 Word 템플릿 자동화에서 주로 사용하는 컨트롤은 다음과 같습니다.
| 용도 | 사용할 컨트롤 |
|---|---|
| 일반 텍스트 입력 | Plain Text Content Control |
| 선택값 입력 | Combo Box 또는 Drop-Down List Content Control |
| 이미지 삽입 | Image Content Control |
| 반복되는 행 또는 목록 | Repeating Section Content Control |
가장 많이 사용하는 것은 Plain Text Content Control입니다.
고객명, 날짜, 금액, 주소, 문장 등 대부분의 단순 값은 이 컨트롤을 사용하면 됩니다.
5. 사용하면 안 되는 컨트롤
Power Automate에서 모든 Word 컨트롤이 지원되는 것은 아닙니다.
다음 컨트롤은 사용을 피하는 것이 좋습니다.
| 컨트롤 | 이유 |
|---|---|
| Rich Text Content Control | Power Automate에서 제한적으로 동작하거나 지원되지 않을 수 있음 |
| Date Picker | 날짜는 일반 텍스트 컨트롤로 처리하는 것이 안전함 |
| Check Box | 체크박스 대신 예/아니오 텍스트나 드롭다운 사용 권장 |
| Legacy Form Controls | 최신 Word 템플릿 자동화에 적합하지 않음 |
날짜를 넣고 싶다면 Date Picker를 쓰기보다 ContractDate 같은 일반 텍스트 콘텐츠 컨트롤을 사용하고, Power Automate에서 날짜 형식을 가공해서 넣는 방식이 더 안정적입니다.
6. 반복되는 표 만들기
견적서나 청구서처럼 품목이 여러 줄 들어가는 문서는 반복 섹션(Repeating Section Content Control)을 사용해야 합니다.
예를 들어 아래와 같은 품목 표가 있다고 가정해보겠습니다.
| 품목명 | 수량 | 단가 | 합계 |
|---|---|---|---|
| 노트북 | 2 | 1,500,000 | 3,000,000 |
| 모니터 | 3 | 300,000 | 900,000 |
이런 표는 데이터 개수에 따라 행이 늘어나야 하므로 단순 콘텐츠 컨트롤만으로는 부족합니다.
반복 표 작성 방법
- Word에서 표를 만듭니다.
- 반복될 행 전체를 선택합니다.
- 개발 도구에서 Repeating Section Content Control을 적용합니다.
- 각 열 안에 일반 텍스트 콘텐츠 컨트롤을 넣습니다.
- 각 컨트롤에 고유한 이름을 지정합니다.
예시:
| 항목 | 콘텐츠 컨트롤 이름 |
|---|---|
| 품목명 | ItemName |
| 수량 | Qty |
| 단가 | UnitPrice |
| 합계 | LineTotal |
Power Automate에서는 이 반복 영역에 배열 데이터를 전달합니다.
예시 JSON:
[
{
"ItemName": "노트북",
"Qty": "2",
"UnitPrice": "1500000",
"LineTotal": "3000000"
},
{
"ItemName": "모니터",
"Qty": "3",
"UnitPrice": "300000",
"LineTotal": "900000"
}
]이렇게 구성하면 데이터 개수만큼 Word 문서의 표 행이 자동으로 생성됩니다.
7. 이미지 자동 삽입하기
이미지를 자동으로 넣고 싶다면 Image Content Control을 사용합니다.
예를 들어 로고, 서명 이미지, 제품 이미지, 도장 이미지를 자동으로 삽입할 수 있습니다.
작성 방법은 다음과 같습니다.
- Word 문서에서 이미지가 들어갈 위치를 정합니다.
- 개발 도구에서 Image Content Control을 삽입합니다.
- 해당 컨트롤의 속성에서 이름을 지정합니다.
- Power Automate에서 이미지 파일 콘텐츠를 매핑합니다.
예시 이름:
CompanyLogo
SignatureImage
ProductImage
StampImage이미지 크기는 Word 템플릿에 설정된 컨트롤 크기를 따르는 경우가 많으므로, 템플릿을 만들 때 이미지 영역의 크기를 미리 맞춰두는 것이 좋습니다.
8. 템플릿 파일 저장 위치
Power Automate가 Word 템플릿을 읽으려면 파일이 접근 가능한 클라우드 위치에 있어야 합니다.
일반적으로 다음 위치를 사용합니다.
- OneDrive for Business
- SharePoint Online 문서 라이브러리
- Microsoft 365 Group 문서 라이브러리
가장 많이 사용하는 방식은 SharePoint 문서 라이브러리에 템플릿 파일을 저장하고, Power Automate에서 해당 파일을 선택하는 방식입니다.
9. Power Automate 흐름 구성 예시
Word 템플릿을 작성한 뒤에는 Power Automate에서 다음과 같은 흐름을 구성할 수 있습니다.
트리거
예: Forms 응답 제출, SharePoint 항목 생성, 수동 실행
↓
데이터 가져오기
예: Forms 응답 세부 정보 가져오기, SharePoint 항목 가져오기
↓
Word Online (Business)
Populate a Microsoft Word template
↓
Create file
생성된 Word 파일을 OneDrive 또는 SharePoint에 저장
↓
선택 사항
Convert Word Document to PDF
↓
선택 사항
메일 발송, Teams 전송, SharePoint 업로드핵심 액션은 다음입니다.
Word Online (Business) → Populate a Microsoft Word template이 액션을 선택하면 Word 템플릿 안에 있는 콘텐츠 컨트롤들이 Power Automate 입력 필드로 표시됩니다.
여기에 Forms 응답, SharePoint 항목 값, Excel 데이터, Dataverse 데이터 등을 매핑하면 됩니다.
10. 계약서 템플릿 예시
예를 들어 계약서를 자동 생성하려면 Word 템플릿을 다음과 같은 구조로 만들 수 있습니다.
계약서
계약번호: [ContractNo]
고객명: [CustomerName]
주소: [CustomerAddress]
계약일: [ContractDate]
제1조 계약금액
본 계약의 총 금액은 [TotalAmount]원으로 한다.
제2조 계약 품목
[Repeating Section 시작]
| 품목명 [ItemName] | 수량 [Qty] | 단가 [UnitPrice] | 금액 [LineTotal] |
[Repeating Section 끝]
담당자: [ManagerName]실제 Word 문서에서는 [ContractNo], [CustomerName] 같은 텍스트를 직접 입력하는 것이 아니라, 각 위치에 콘텐츠 컨트롤을 삽입하고 해당 이름을 지정해야 합니다.
11. 작성 시 주의할 점
Word 템플릿을 만들 때는 다음 규칙을 지키는 것이 좋습니다.
| 항목 | 설명 |
|---|---|
| 콘텐츠 컨트롤 이름은 고유하게 작성 | 중복 이름이 있으면 값이 잘못 들어갈 수 있음 |
| 일반 값은 Plain Text Content Control 사용 | 가장 안정적으로 동작함 |
| 날짜도 일반 텍스트로 처리 | Power Automate에서 날짜 형식을 변환하는 것이 안전함 |
| 체크박스는 피하기 | 예/아니오 텍스트 또는 드롭다운 권장 |
| 반복 표는 Repeating Section 사용 | 데이터 개수만큼 행을 자동 생성하려면 필요함 |
| 이미지는 Image Content Control 사용 | 로고, 서명, 도장 등에 활용 가능 |
| 템플릿은 OneDrive 또는 SharePoint에 저장 | Power Automate가 접근 가능한 위치여야 함 |
| 조건문은 Power Automate에서 처리 | Word 문서 안에서 복잡한 로직을 처리하지 않는 것이 좋음 |
12. FAQ
Power Automate에서 필드가 보이지 않는 경우
대부분 다음 원인 중 하나입니다.
- 콘텐츠 컨트롤이 아니라 일반 텍스트로 작성한 경우
- Word Online에서 작성해서 개발 도구 컨트롤이 제대로 들어가지 않은 경우
- 지원되지 않는 컨트롤을 사용한 경우
- 템플릿 파일이 OneDrive 또는 SharePoint에 저장되어 있지 않은 경우
- 파일 형식이
.docx가 아닌 경우
값이 엉뚱한 위치에 들어가는 경우
콘텐츠 컨트롤 이름이 중복되었을 가능성이 있습니다.
각 콘텐츠 컨트롤의 Title 또는 Tag가 고유한지 확인해야 합니다.
반복 표가 늘어나지 않는 경우
단순 표만 만든 것이 아니라, 반복될 행에 Repeating Section Content Control이 적용되어 있는지 확인해야 합니다.
0 댓글