読者です 読者をやめる 読者になる 読者になる

本当は怖い情報科学

情報系大学院生の趣味&実益ブログ。

wiki2wordを書こうと思ったのでちょっと調べてみた

python

Tracwikiに書いたものをWordのドキュメントに落としたりしたくなって、これは自作ツールを使って車輪の再発明をせねばなるまいと思ったので、ちょっと調べてみた。

言語はPythonで書くことに(2秒くらいで)決定。あんまりRubyばっかり使ってても新鮮味が無いしね。

というわけで、まずpy-win32をインストール。

基本的なCOMとかWin32OLEの使い方については、この本を読んでいたので知っていた。

Rubyを256倍使うための本 邪道編Rubyを256倍使うための本 邪道編
arton

アスキー 2000-10
売り上げランキング : 124780
おすすめ平均

Amazonで詳しく見る
by G-Tools

ちょっと調べて軽いサンプルを書いてみた。

from win32com.client import Dispatch

word = Dispatch('Word.Application')
word.visible = 1
doc = word.Documents.Add()
rng = Doc.Range(0,0)
rng =doc.Range(0,0)
rng.Text = "これはPythonからWordに書き込むテストです"

こうすると、Wordが起動されて文字列が書き込まれる。

というわけで、要はWordのオブジェクトモデルがわかれば、あとは試行錯誤で実装できる。ひたすら調べたり、マクロの記録機能を使って組み込まれているオブジェクトを調べていけば作れるはず。

Word オブジェクト モデルの概要

.NET 開発者の観点から捉えた Word オブジェクト モデル

Office オブジェクト モデルに関するドキュメントの検索と使用方法

【広告】