(できれば Windows 上で) 特定のドキュメントで Open Office を起動し、固定文字列を検索して、プログラムによって選択された別の文字列に置き換えたいと考えています。
外部の Python プログラムからどのようにすればよいですか? OLE-何か?ネイティブの Python スクリプト ソリューション?
(ドキュメントは Word 97-2003 形式ですが、それはおそらく関係ありませんか?)
(できれば Windows 上で) 特定のドキュメントで Open Office を起動し、固定文字列を検索して、プログラムによって選択された別の文字列に置き換えたいと考えています。
外部の Python プログラムからどのようにすればよいですか? OLE-何か?ネイティブの Python スクリプト ソリューション?
(ドキュメントは Word 97-2003 形式ですが、それはおそらく関係ありませんか?)
Python-UNO bridgeを使用していると思います。これはうまくいきますか?
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 のドキュメントを参照してください。また、次のコマンド ラインで OpenOffice を起動していることを確認してくださいswriter "-accept=socket,host=localhost,port=2002;urp;"
。