엑셀의 테이블에 지정칼럼의 한 로우씩 값 읽어들인 후 사용하는법


위에가 제 엑셀의 데이터 테이블입니다.
E열에 한 로우씩, 한 어린이집명을 불러온 후
한 폴더 아래에 어린이집들이 나열되어있는데, 불러온 값과 일치하는 해당 어린이집을 서치하여 그 안에 어린이집명으로 파일명이 되어있는 워드파일이 있습니다.
그 워드파일 안에, 원하는 위치에 어린이집 명을 삽입해야 합니다.
(이때, 삽입해야할 항목들

  • 해당 날짜
  • 어린이집 명
  • 어린이집 원장님명)

삽입 후, 파일을 저장할때 또 아까 읽어들인 어린이집명으로 워드파일 이름을 이 파일이 만들어진 날짜와 함께 저장해주어야 합니다.




image
image

현재 엑셀파일을 데이터 테이블화 시킨 후 , 메세지 박스로 전체가 다 불러와지는지 확인만 된 상태입니다.
한 로우씩 가져와 작업을 하고 작업을 끝마친 후,
다음 로우를 가져와 위의 작업을 또 하고싶은데요…
어떤 액티비티를 어떻게 써야할지 감이 잘 오지 않습니다.

FILTER DATATABLE을 사용하시지 마시고 FOR EACH ROW IN DATATABLE 을 사용하시면 한개의 ROW 식 사용이 가능합니다.

for each row 안에 워드파일들이 있는 폴더 경로에서 파일들을 참조하여 for each 로 다시 작성하시면
이중 for문으로 한개의 row 마다 모든 워드파일들의 파일명을 비교해서 해당 어린이집명이 포함된 워드 파일에 작성하시면 될듯합니다.

1번째 For each row in data table과 2번째 For each문은 다른 액티비티입니다.

2번째 for each 문의 TypeArgument는 System.IO.FileInfo 이며

if문의 조건은
Path.GetFileName(Item.ToString).Contains(CurrentRow(“kindergarten”).ToString) 입니다.

if문 안의 Log Message 부분에 워드파일안에 내용을 작성하는 액티비티들을 넣으시면 될듯하고

해당 워드파일에 작성을 진행했으면 진행하던 Row에 대한 워드파일은 작성이 끝난것 이므로 break를 걸어서 2번째 for each가 해당 row에 대해서 더이상 진행되지 않도록 합니다.

혹시 더 궁금하신 사항이 있으면 댓글 남겨주세요~

정성어린 답변 감사합니다!
명쾌히 답변해 주셔서 부족한 지식으로도 이해가 잘 되었습니다

혹, log message 액티비티
message 란에다가 워드파일의 원하는 쪽과 위치에, 어린이집 명을 삽입하려면 어떤식으로 작성을 해야하는걸까요…?

@jayD


패키지 관리에서 맨 밑의 Uipath 공식 패키지를 설치하여 액티비티를 확인해보시는게 좋을 것 같습니다.

만약 공식패키지에 원하는 액티비가 없다면 공식 외의 다른 패키지를 찾아보시거나 직접 워드를 실행하여 단축키 등으로 입력하는 방식을 구현하여햐 할 것 같습니다.