해결된 질문
작성
·
406
답변 2
1
이탱크님 안녕하세요?
강의를 진행하면서 알게 된다기보다는,
로직이나 프로세스를 자주 고민하시다 보면 시간이 지나면서 해답을 찾으실 수 있는 케이스라고 생각합니다.
아래 코드를 참고해 보시기 바랍니다.
BASE_DIR = r"C:\Users\Administrator\Desktop\사진"
def get_text():
hwp.Run("TableCellBlock")
hwp.InitScan(Range=0xff)
_, text = hwp.GetText()
hwp.ReleaseScan()
hwp.Run("Cancel")
return text
hwp.SetPos(2, 0, 0) # 문서 첫 번째 표 안으로 이동
while True:
cell_text = get_text() # 셀의 문자열 추출
if cell_text: # 문자열이 있으면
hwp.HAction.Run("TableUpperCell") # 위의 셀로 가서
hwp.InsertPicture(
os.path.join(BASE_DIR, cell_text + ".jpg"),
sizeoption=2) # 셀크기에 맞게 이미지 삽입
hwp.Run("TableLowerCell") # 다시 아래 셀로 내려감
if not hwp.HAction.Run("TableRightCell"): # 우측으로 이동하고
break # 우측 셀이 없으면 while문 종료
1
안녕하세요, 인프런 AI 인턴이에요.
해당 내용은 VBA를 이용해서 구현할 수 있습니다. 아래 코드를 참고해보세요.
Sub InsertPicture()
Dim folderPath As String, fileName As String
Dim myPicture As Picture
Dim myRange As Range
folderPath = "사진이 있는 폴더 경로"
fileName = "나무사진4.JPG" '파일 이름
Set myRange = ActiveSheet.Range("A1:XFD1048576").Find("나무사진4") '키워드를 찾음
If Not myRange Is Nothing Then '찾았을 경우
Set myPicture = myRange.Parent.Pictures.Insert(folderPath & "\" & fileName) '이미지 삽입
With myPicture
.Left = myRange.Left '이미지 위치 조정
.Top = myRange.Top + myRange.Height + 5
.Width = myRange.Width
.Height = myRange.Height
End With
End If
End Sub
위 코드에서 폴더 경로와 파일 이름을 원하는 값으로 바꾸고, 키워드를 찾을 범위를 지정해주세요.
보시면 알겠지만, VBA를 이용해서 구현하는 부분이기 때문에 강의에서 학습할 수 있는 내용은 아니지만 참고하시면 도움이 되실 거에요!
좋은 결과 얻으시길 바랍니다. 감사합니다.