나는 그 순간 꽤 난처한 상황에 처해있다. Can I use Win32 COM to replace text inside a word document?을 바탕으로 필자는 문서 워드 (doc)에서 워드 문서를 생성하는 간단한 템플릿 시스템을 코딩 할 수있었습니다 (파이썬에서).ms 단어 doc의 모든 문자열을 파이썬으로 검색하고 바꾸려면 어떻게합니까?
제 문제는 "텍스트 필드"의 텍스트가 그런 식으로 발견되지 않습니다. Word 자체에서도 모든 것을 검색 할 수있는 옵션이 없습니다. 실제로는 "주 문서"와 "텍스트 필드"중에서 선택해야합니다. Windows 세계에 익숙하지 않아 VBA 문서를 찾아 보았으나 도움이되지 않았습니다 (아마도 "텍스트 필드"가 매우 일반적인 용어이기 때문에).
word.Documents.Open(f)
wdFindContinue = 1
wdReplaceAll = 2
find_str = '\{\{(*)\}\}'
find = word.Selection.Find
find.Execute(find_str, False, False, True, False, False, \
True, wdFindContinue, False, False, False)
while find.Found:
t = word.Selection.Text.__str__()
r = process_placeholder(t, answer_data, question_data)
if type(r) == dict:
errors.append(r)
else:
find.Execute(t, False, True, False, False, False, \
True, False, False, r, wdReplaceAll)
이것은 내 코드의 관련 부분입니다. 나는 지금까지 모든 문제를 해결할 수있었습니다 (힌트 : 문자열을 256 자 이상으로 교체하려면 클립 보드 등을 통해해야합니다.)
아니요, 죄송합니다. MS Word 사용은 필수입니다. – Mark
확인. 그러나 OpenOffice는 MS Word 파일을 아주 잘 처리 할 수 있습니다. 따라서 Word 파일도 처리 할 수 있습니다. doc, ppt, odt 또는 pdf와 같은 다양한 형식의 문서를 생성하기 위해이 브리지를 사용합니다. –
또는 MS Word에서도 처리가 이루어지고 있습니까? –