「強敵」と書いて「とも」と読む
先日職場での雑談から、こんな話題が登場した。
「検索って、平仮名でもできますよね」
ナンデスカ、ソレハ?初耳だった。
果たして試してみると、確かにそのとおりだった。
例えば、「後日談」と入力して、「じつだん」で検索するとヒットする。
不思議だなと思いつつも、何となく理由に心当たりがあった。マクロの記録で文字を入力するとき、それらしきものがいつも出ていたからだ。
そこで、こんな実験をしてみた。
テスト1
⇒ 「後日談」と入力して、「じつだん」で検索。
Sub Test1() Dim FindResult As Range Range("A1") = "後日談" Set FindResult = Cells.Find("じつだん") If FindResult Is Nothing Then MsgBox "お探しの文字はありません。" Else MsgBox "お探しの文字は、" & FindResult.Address & "にあります。" End If End Sub
結果、見つけることが出来なかった。
テスト2
⇒ 1に加え、「ゴジツダン」を読み仮名として入力したうえで検索。
Sub Test2() Dim FindResult As Range Range("A1") = "後日談" Range("A1").Characters(1, 3).PhoneticCharacters = "ゴジツダン" Set FindResult = Cells.Find("じつだん") If FindResult Is Nothing Then MsgBox "お探しの文字はありません。" Else MsgBox "お探しの文字は、" & FindResult.Address & "にあります。" End If End Sub
結果、見つけることが出来た。
ここまでは、半ば予想どおり。
テスト3
⇒ 2から、「後日談」の入力を省く。
Sub Test2() Dim FindResult As Range Range("A1").Characters.PhoneticCharacters = "ゴジツダン" Set FindResult = Cells.Find("じつだん") If FindResult Is Nothing Then MsgBox "お探しの文字はありません。" Else MsgBox "お探しの文字は、" & FindResult.Address & "にあります。" End If End Sub
結果、見つけることが出来なかった。
ふりがなを振るべき文字が無いのだから、当たり前と言えば、当たり前か。
ということで、以上を踏まえ、任意のセルに任意の読み仮名を振るマクロを作ってみた。
Sub AddPhonetic(target_range As Range, kana_to_add As String) target_range.Characters.PhoneticCharacters = kana_to_add End Sub
早速テストしてみよう。
Sub Test4() Range("A1") = "ラオウ" AddPhonetic Range("A1"), "とも" End Sub
どうやら、上手くいったようだ。
これでもう、キラキラネームの名簿だって怖くありません。
参考まで。