はい、表題の通りです。気になる人は気になるけど、接点のない人にはまったく関係のない話ですね。
端的に言うと、WordVBAでルビ振りの自動化を目指していて、一発決め打ちは仕様上無理っぽかったので、重ね掛けすることにしました、というお話です。
…なのですが、これ会社の業務内の開発だしコードを公開するにはちょいとマズいよな、ということに気づきまして、一度最後まで書き上げたのですが、コード公開なしにしました。
期待された方、本っっ当ににスミマセン<(_ _)> 動作しているところを撮した動画も準備したんだけどなぁ…(´・ω・`)
何をやっているかだけかいつまんで書くと、
→ ルビを振りたい文章を選択する
→ 正規表現で漢字だけを選択して、 Application.Dialogs(wdDialogPhoneticGuide) でルビを振る
→ そのフィールドコードをテキストとして格納する
→ 格納したテキスト(フィールドコード)の中から、ひらがなの正規表現でルビ文字 ( ( ) で囲まれた“ひらがな”)を検索し、あったら抽出する
→ 抽出したひらがなを使用して、 .PhoneticGuide を使って、フォームで入力した配置、オフセット、サイズ、フォントで、ルビを上書きする
こんな感じです。見事に力技ですね(´・ω・`)ゞ 文字数(漢字量)にもよりますが、A4 1ページだいたい30秒程度かかりました。こんなのでも手動でやるよりは速いです。
参考になれば…
※コメント投稿者のブログIDはブログ作成者のみに通知されます