Rubyでどう書く?:RubyでWord文書を作成する

三浦義太郎(KBMJ)
2008-07-02 08:00:00
  • このエントリーをはてなブックマークに追加

問題

 第5回目のテーマは第2回「RubyでPDF履歴書を作成する」の変奏です。

 第2回はRubyでPDF文書を作成するというお題でしたが、Microsoft Word文書を作成したいということも多いと思います。

 というわけで、今回はRubyでWord文書を作成してみたいと思います。

回答例

require 'rdoc/template'

template = TemplatePage.new IO.read('name.xml')
File.open("result.xml", 'wb') do |f|
  template.write_html_on(f, {'name' => $*[0]})
end

 簡単すぎですね。

解説

 今回のミソは、Word 2003から使えるようになったXML文書を使用しているところです。

 元の文書は「name.xml」で、これはWord(筆者の環境では2007)で作成したものです。そのため、レイアウトはWordで行うことが可能です。

 あとは文字を置き換えたい部分を「%name%」としてあげて、XML文書形式で保存します。

 Wordで文書の元が作れるのが大きなメリットですね。

 プログラムの実行は

ruby [作成したプログラム] [%name%に置き換えたい文字列]

 で、プログラムと同じフォルダにresult.xmlというファイルが作成されます。

 開いてみると「%name%」が置き換えたい文字列になっているはずです。

最後に――

 WordのXML文書は、無償で提供されている2003以降のWordビューワを導入することで閲覧できるので、対応したバージョンのWordを持っていなくても大丈夫です。

 この機会に社内文書の作成などにRubyを導入してみてはどうでしょうか(まあ、Rubyじゃないとできないというわけじゃないですが……)。

  • 新着記事
  • 特集
  • ブログ
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]