워드 : 지정란에 날짜 변수 업데이트하기


위와 같은 보고서 워드 파일이 있다고 하였을 때,
"날짜"와 “월” 항목을 현재 yyyy-MM-dd 와 MM으로 바꾸어주려합니다.

replace text in document액티비티 사용시 현재 써져있는 텍스트를 지정해놓은 변수로 변환까지는 가능한데,

문제는 다음번에 이 같은 워드 파일에서 날짜와 달을 현재 업데이트 하는 시점의 날짜로 변경 해 주어야 합니다.

방법을 몰라 이렇게 또 여쭙습니다…!

File.GetLastWriteTime(“파일경로”).ToString(“yyyy-MM-dd”) 로 String을 출력하게 되면 마지막에 수정된 날짜가 yyyy-MM-dd 형식으로 나오게 됩니다.

맨 처음 워드 파일을 날짜 → yyyy-MM-dd 로 변경하고
월 → MM 으로 변경하고 나면 해당 날짜와 월은 마지막으로 변경된 날짜와 월이 되겠죠

그 이후 해당 파일을 다시 변경해야할때 그 값을 마지막 수정된 날짜를 값으로 받아서 yyyy-MM-dd(최종수정날짜)를 현재 날짜로 변경해주고 MM(최종수정월)을 현재 월로 변경해주시면 될듯 합니다.

물론 워드 파일내에 겹치는 데이터는 없는지 한번 확인해보시기 바랍니다.

혹시 replace text in document 액티비티에
적용하란 말씀 맞으실까요?

적용이 되지 않아서요 ㅠ,ㅡ

음 경로라는 변수명으로 사용하시는 거면 큰따옴표를 뺴고 변수명만 경로쪽에 적어주세요
GetLastWriteTime(String) 요런 메소드 형태이기 때문에 (String 이 파일의 경로값이 있는 String)

아마 jayD님이 File.GetLastWriteTime(“경로”) ← 이렇게 적으셔서 에러가 나는걸겁니다.

아아 죄송합니다
경로라는 변수는 다른 시퀀스에서 쓰던거라,
경로가 길어서 "경로"라고 실제 경로 대신 바꿔서 보여드리기 위해
잠시 바꿔놓았습니다!

변화가 없길래 혹시 변경되는 값에 DateTime_오늘 이라는 변수를
default 값 DateTime.Now 라고 지정해 놓았는데,
으음 어떤게 문제인지 잘 모르겠습니다 ㅜ

현재 적어놓으 신건

워드 파일 내의 글자 중에 이 워드파일이 마지막으로 수정된 날짜와 일치하는 값 → 현재 날짜 값으로 변경하겠다인데… 혹시 워드 파일내에 해당하는 값(워드 파일이 마지막으로 수정된 날짜 값)이 있는지요?

있다면 그 날짜가 해당 날짜가 같지는 않은지? 확인해보셔야할 것 같습니다…

아하~~~ 말씀해주신 대로 다시 해 보니, 잘 됩니다! 감사합니다!
저 하나만 더 여쭙자면, MM (월)을 대체 시켜주어야 하는데 위와 똑같이
File.GetLastWriteTime(“경로값”).ToString(“MM”) 을 DateTime_오늘.ToString(“MM”) 로 변경 했을때 변화가 없습니다… ㅠ,ㅠ

음…같은 월이라서 그런게 아닐까요??

그 파일에 적혀있는 값은 이미 02이고 바꾸려는 값도 02이니 변화가 없어보이는것 일 수도 있습니다.

시간을 저번 달인 1월로 돌려놓아서 테스트를 진행해 보았을때,
yyyy-MM-dd 는 잘 변경이 되었고 02였던 월이 여전히 02가 나옵니다

그래서 양식이 2022-02-16은 길어서 제대로 인식하고 02는 너무 짧아서 인식을 제대로 못하나…? 생각 중인데, 정상대로라면 파일 내부에 02 는 죄다 01로 바뀌어야 맞는건가요?

File.GetLastWriteTime(“경로값”).ToString(“MM”) → 이 값은 경로에 해당 하는 파일이 마지막으로 수정된 날짜의 월을 MM 형식으로 Return 받는 것입니다.

따라서 01이란 값이 나오지 않는 거죠…

아마 그렇게 진행하실려면 컴퓨터 시간을 1월로 바꾸신 후 워드 파일을 한번 저장하신 후에 테스트 해야 할듯하네요…

음…말씀대로 라면 01로 바뀌어야 맞는것이긴 하죠

아니면 해당 프로세스가 1달에 한번 돌아간다고 생각했을때 파일의 마지막 수정 날짜가 아닌 그냥 저번달인 값을 찾아서 바꾸는 것도 한 방법입니다.

으음… 말씀해주신대로 컴퓨터 시간을 2022-01-16 로 변경후 워드파일내에 연월일과 월을 2022-01-16 과 월을 01로 변경후 저장한 후에,
2022-02-16 으로 변경 후, rpa를 돌려보니
연월일은 제대로 변경이되었는데, 월이 여전히 01이 나옵니다 …ㅜㅜ
혹시 월이 표 안에 01로 저장되어있는데 표안에서는 제대로 작동이 안되는건지…

새로운 제안 감사합니다!
아쉽게도 매 주마다 프로세스가 돌아가야 하는 상황인지라 …ㅜㅡㅠ

제가 테스트 해 본 결과 표 안이라서 생기는 문제는 아닌듯 합니다.

혹시 Replace Text in document 액티비티의 속성 중 바꾸는 범위를 체크하는 속성이 있지 않나요?

image

Replace All 체크가 해제되어 있다면 아마 처음 찾은 것만 바꾸기 때문에 yyyy-MM-dd를 바꾸고 그 뒤에는 안바꿔서 그럴수도 있습니다.


제가 선생님과 ui 가 다른듯 한데, 그래도 연월일 과 설정값은 같아보입니다…!

음…오류가 고쳐지지 않는다면 패키지 버전을 업그레이드 하는게 해결할수 있는 방법 일 것 같습니다.
v1.7.3 으로 패키지를 업데이트하고 사용해보시겠어요?

UiPath.Word.Activities 액티비티 버전 말씀하시는거 맞으실까요?
현재 1.8.0 사용중인데 다운그레이드를 해봐야 할지…

현재 다운그레이드해서, 1.7.3 버전 테스트 진행시 여전히 월만 바뀌지 않고 있습니다… ㅜㅡㅠ 다른 방법을 시도해보아야 하나아…