2011-10-16 3 views
2

특정 문서에서 Open Office를 시작하고 고정 문자열을 검색하여 내 프로그램에서 선택한 다른 문자열로 바꾸고 싶습니다.원격 제어 또는 스크립트 Office를 열어 Python에서 Word 문서 편집

외부 파이썬 프로그램에서 어떻게 할 수 있습니까? OLE- 뭔가? 원시 파이썬 스크립팅 솔루션?

는 (이 문서는 말씀 97-2003 형식으로되어 있지만, 아마도 관련이 없습니다?) 나는 Python-UNO bridge를 사용하여 말하고 싶지만

답변

3

. 이 방법이 효과가 있습니까?

import uno 

ctx = uno.getComponentContext() 
service_manager = ctx.getServiceManager() 
desktop = service_manager.createInstanceWithContext("com.sun.star.frame.Desktop", ctx) 
document = desktop.loadComponentFromURL("file:///file.doc", "_blank", 0,()) 

replace_desc = document.createReplaceDescriptor() 
replace_desc.setSearchString("text_to_replace") 

find_iter = document.findFirst(replace_desc) 
while find_iter: 
    find_iter.String = "replacement_text" 
    find_iter = document.findNext(find_iter.End, replace_desc) 

검색에 대한 자세한 내용은 XSearchable docs을 참조하십시오. 또한 다음 명령 줄을 사용하여 OpenOffice를 시작하도록하십시오 : swriter "-accept=socket,host=localhost,port=2002;urp;".

+0

흥미로운 ... 확인합니다. –

+0

어쩌면 어리석은 질문 일지 모르지만, 파이썬이 말했을 때, ImportError : 모듈이 없습니다. 내가 잘못 했나요? 표준 Windows 2.7.2 Python이 설치되어 있습니다. –

+0

OpenOffice의 선택적 설치 가능 구성 요소입니다. OpenOffice의 Wiki에서 [OpenOffice에 대한 파이썬 소개] (http://wiki.services.openoffice.org/wiki/Using_Python_on_Windows) 페이지에서 설치에 대한 자세한 내용을 확인하십시오. – jro