こんにちは。ナベトモです。
Wordでルビを一括で振る方法として、ExcelのVBAのイミディエイトボックスにSelection.setphoneticを入力する方法を以前ご紹介しました。
しかし、うまくルビが振られなかった方もいらっしゃるかと思います。
ここでは Selection.setphonetic を使ってもルビが振られない理由や対処法をお伝えします。
Selection.setphonetic でルビが振られない理由
まず結論から先に言いますと、
・改行がされていない文章
がほとんどの原因かと思います。
例えば、以下の文章はちゃんとルビが振られます。
しかし、次の文章はルビが振られません。
改行がされていても一つのセル内に長い文章を入れるとルビが振れません。
Selection.setphonetic でルビが振られない場合の対処法
WordからExcelにコピペをする前に、Word上で長文の合間に改行をいれたり「。」で終わったところで改行しておけば問題ありません。
しかし、Word文書のページ数が多くとてもすべてに改行をいれることができない場合もあるかと思います。
そこでExcelを使って一括で「。」のつくところで改行を入れ、ルビが振られる形に直していく方法をお伝えします。
1.Wordの文章をExcelにコピペ
例えば、Word上に以下の文章があったとします。
それをExcelにコピペすると横に長~く伸びて表示されます。
2.読点で区切り、複数列に分ける
コピペしたセルを選択し、データタブから区切り位置を選択します。
「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」に選択を入れて「次へ」
区切り文字で「その他」のみにチェックを入れ、横に「。」を入力し「次へ」。
次は特に何もせず「完了」を押す。
これで「。」で終わる一文が一列ごと区切られました。
3.列と行を入れ替える
clrl+aで文章の入っているセルをすべて選択しclrl+cでコピー、適当なセル(サンプル画像ではA3)を選択し、貼り付けオプションで「列/行の入れ替え」を選択してペーストします。
A1にある横に長い文章はもう消しても大丈夫です。
3.文章の最後に「。」を付け加える
「。」のところで区切り位置を設定したことで読点がすべて消えてしまっていますので、改めてそれぞれの文の最後に「。」をつけ加えます。
文章の入っているセルの一つ右の空白セル(サンプル画像ではB3)に「=A3&"。"」と入力します。
コピペした場所によって 赤太字の部分は変わります。
「=A3&"。"」
例えば、A4にコピペした文章の最初の文が入っていれば「=A4&"。"」と入力します。
今しがた、式を入力したセルをコピーして下のB7までペーストします。
オートフィルを使うと楽です(セル枠の右下の小さい四角をクリックしたまま下までドラッグ)。
B3からB7(行の最後)まで選択された状態でclrl+cでコピーし、貼り付けオプションから「値」のみ貼り付けます。
左側のA3からA7の文章は消しても大丈夫です。
これで改行された文の完成です。
ちゃんと文の最後に読点もついています。
あとは通常通りExcelのVBAのイミディエイトボックスにSelection.setphoneticを入力してルビを振ればOKです。
以上、ナベトモでした。
コメント