
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じゃないとできないというわけじゃないですが……)。
folllow builer on
twitter
- 新着記事
- 特集
- ブログ
- 企画特集
-
さあ、クラウドで解決しよう。
-
連載!プロが語るストレージ戦略
-
連載!プロが語るストレージ戦略
-
請求書がきてからでは遅い
-
IDaaSって何?
-
セキュリティの今を知る
-
ビッグデータ最前線!
-
連載!プロが語るストレージ戦略
-
データの散在と非常率運用がネック
-
話題のセキュリティ事故体験ゲーム
-
講演の見どころを紹介
-
デジタルを当たり前と言えるか?
-
内部不正や不注意をどう防ぐ?
-
ゼロトラストに不可欠なID管理
-
いまさら聞けない「PPAP」
-
特集:IT最適化への道
-
いままさに社会にとっての転換点
-
いまあるデータで身近な業務をDX
-
モバイルデバイスもターゲットに!
-
明日からではもう遅い?!
-
利便性とセキュリティの両立
-
次の一手はこれだ!
-
保育業界のDX(前編)
-
保育業界のDX(後編)
-
企業DXのキモはクラウドにあり