Replace picture - replace with picture

워드 파일표에 이미지를 삽입해주어야 합니다.
그런데 워드에 원하는 위치에 이미지를 삽입하는 액티비티가 따로 없는듯 하여,
replace picture 를 사용하여 미리 예시 이미지들을 다 넣어놓은 후 대체 시키려합니다.

그런데 그 이미지를 클립보드에서 복사 한 상태에서 붙여넣기를 해 주어야 하는데
가능할까요?

안녕!

당신은 이것을 시도할 수 있습니다:

문안 인사,
나니

클립보드를 무조건 쓰셔야 한다면 기본액티비티에서 가장 심플한 방법으로는 Send Hotkey 액티비티 이용해서 ctrl+c / ctrl+v 형태로 붙여넣으실 수도 있을 것 같습니다. 다만 원하는 위치를 지정하는 로직을 조금 고민하셔야 할 수도 있습니다.

그리고 이미지 파일 형태로 저장하셔도 상관없다면 UiPath.Word.Activites 패키지에서 Add Picture 액티비티를 활용해보실 수도 있습니다. 이미지 파일 경로를 입력 값으로 받아서 해당 이미지를 삽입해주는 액티비티입니다. 해당 액티비티가 안보이는 경우에는 패키지 관리에서 위 패키지명을 검색하시면 나올겁니다.

How do I apply the nupkg file?

add picture 액티비티가 position where to insert 라고 지정 위치를 넣어주는게 start, end 둘 뿐이더라구요 ㅜㅡㅠ 제가 다른 방법이 있는데 모르는건지…
그래서 replace picture 액티비티를 사용해서 미리 넣어둔 이미지와 대체해 주려 하는데요! replace with picture 이라는 란에 변수로 클립보드 붙여넣기 하는 방법이 혹시 있지 않을까… 해서요!

클립보드안에 있는 이미지를 바로 넣으시려고 하면 아마 문서를 직접 조작하는 방법 밖에 없으실 겁니다.

차라리 클립보드 안의 이미지를 추출해서 파일로 변환하시는게 사용하시는게 편하실 것 같은데

액티비티 중에 Get From Clipboard 라고 있습니다.

해당 액티비티를 사용하면 현재 클립보드에 있는 데이터를 추출하게 되고 변수에 담을 수 있게 되는데

그럼 클립보드의 이미지는 Image 변수에 추출을 해서 파일로 저장을 한번 하시고 사용하시는게 더 편하지 않을까 싶습니다.

image

삽입 기준을 텍스트로 잡으시면 특정 텍스트 기준으로 이미지를 삽입할 수 있습니다.
삽입할 위치는 텍스트를 대체/텍스트 이전/텍스트 이후 선택도 가능합니다.
텍스트 발생 값을 특정으로 하시면 n번째 지정텍스트에만 삽입하도록 설정도 가능합니다.

Replace도 좋은 방법입니다만 기존 이미지에 대체 텍스트가 설정되어있어야 하고, 동일한 대체 텍스트가 설정된 이미지 전체가 다 바뀌어버립니다. 워드파일 양식에 따라 더 나아보이는 것을 선택하시면 될 것 같습니다.

Add Picture나 Replace Picture나 이미지파일 경로를 요구하므로 클립보드 이미지를 파일화 하는 경우에는 정재엽님 내용 참고하시면 될 것 같네요.


혹시 one or more errors occured 오류 관해서 해결 방법이 있을까요?

답변 감사합니다!
혹시 add picture 액티비티에
picture to insert 안에 이미지타입의 변수를 넣어도 괜찮은가요? 오류가 나서 어디서 오류가 난건지 확인중이라서요…!

Get From Clipboard 출력 결과에 어떤 변수를 넣으셨는지요??

혹시 String 이라면 이미지를 String으로는 받을수 없으니 에러가 났을 겁니다…

변수 설정을 Image 타입으로 설정하시면 될 듯 합니다.

변수 유형에서 형식 찾아보기로 UiPath.Core.Image 찾아서 설정하시면 될겁니다.

해당 공간에는 String 으로 이루어진 이미지 파일 전체 경로를 넣으셔야 합니다.

이미지 변수를 이미지 파일로 저장하는건 Save Image 액티비티를 사용하시면 됩니다.


유형이 이미지 형식임에도 에러가 날땐 어떤 문제가 있을까요…?

아하~~ 저 안에 변수를 바로 넣는건 불가능하군요! 아하…!

음…혹시 Take Screen shot으로 이미지 파일을 추출하시는 건가요? 그러면 File 로 바로 만들 수 있습니다.

혹시 저 에러가 계속 발생한다면 컴퓨터 재부팅을 한번 해보시길 권해드립니다.

아 혹시 clipboard 사용을 해야 하는 작업이 뒤에 한번 있어서 그런데
그러면, output to : file 을 한 번 더 해서 파일을 저장하고 사용하는 것이 나을까요?


재부팅을 시도해보았지면 여전히 같은 에러가 보입니다 ㅠ

아무래도 Get From Clipboard 는 String 으로만 되어있는것 같습니다.

일단 클립보드를 사용하셔야 하는 작업이 무조건적으로 필요하다면

Take Screen shot의 결과를 클립보드로 출력 받으시고

해당 식으로 클립보드의 이미지를 받을 수 있습니다.

혹시 받으실 때 Clipboard is not member of ‘Forms’ 에러가 발생한다면

image

해당 방법을 진행하시면 되는듯 합니다.

AssemblyReference>System.Windows.Forms</AssemblyReference

출처 : Get from clipboard --> can´t get an image - #7 by Arunvs2007

1 Like

저도 같은 에러가 나서 확인해봤는데 Get From Clipboard 액티비티로 Image 변수로 바로 받을 수 없는 것 같습니다.
클립보드에서 image변수로 바로 받을 때에는 Assign으로 해야하는 것 같습니다.
Uipath.Core.Image가 아닌 System.Drawing.Image 타입으로 받지만 Save Image 액티비티에 사용 가능합니다.

다음 포럼 링크 참고 바랍니다.
[Get from clipboard --> can´t get an image - #5 by monika.c]

1 Like

정성어린 답변 감사합니다…!!
답변 주신대로 해보니 잘 실행 되었습니다!^-^

1 Like

Uipath.Core.Image가 아닌 System.Drawing.Image 타입만 가능하다는게 신기하네용 ㅎㅎ 정성어린 답변 감사합니다! 덕분에 해결했습니다

1 Like