ワードで一括でルビ振り(2)

先日、「ワードで一括でルビ振り」について書きましたが・・・
この問題を、プログラムで解決しようとしているかたたちがいました。

2つのサイトを、紹介します。
難点はあるものの、どちらもすばらしいです。

=================================

1.サイト名「Miyahn’s Archive

VBScriptを使って、ワード文書に一気にルビ振りします。

①サイトの「For Word」項目の、「全文ルビ振り」をクリックして、
ファイルをダウンロード。

②解凍すると、「RubyToolS.vbs」と「RubyToolW.vbs」の2つがあります。
前者は文単位で、後者は単語単位で、自動的にルビを振っていきます。

③ワード文書を、Word97-2003文書形式(~.doc)で保存します。

④③のファイルを、②のいずれかにドラッグ&ドロップ。

⑤「自動確定しますか?」と聞いてきます。
「はい」でいいと思います。

⑥③のファイル名の後ろに、「_Rubied」という名前のついたファイルができます。
開いてみると・・・
(↓クリックで拡大します。)

上図は、文単位で変換したものです。
単語単位でも、似た感じになります。

変換内容はほぼ完璧ですが、問題点はつぎの2つ。
・自動確定したとき、カタカナにもルビが振られてしまう。
・単語または文節全体にルビが振られてしまう。

2.サイト名「初心者備忘録

ルビを一括設定するWordマクロ」のページに、
Wordマクロを使った方法の解説が、ありました。

このマクロを登録したワードファイルを、作ってみました。
こちらからダウンロードできますが、
kinu asaさんに断っていないので、身内限定にしました。)

①マクロを登録したワード文書を作成します。
(よく使用する場合は、共有マクロに設定したほうがいいです。)

②①の文書に、文字を入力していきます。

③「開発」タブ→「マクロ」(またはAlt+F8)で、マクロウィンドウを表示し、
「SetPhoneticDocument」マクロを選択して、「実行」。

④自動的に、ルビが振られました。
(↓クリックで拡大します。)

キレイに、漢字のみにルビが振られています。
問題点は、漢字1文字の場合、単語として認識していないので、
おかしなフリガナになってしまうことが、多くなります。
(例えば、「お父さん」=「おちちさん」)