対象のセル範囲のふりがな情報を表すPhoneticsコレクションオブジェクトを参照します。Phoneticsプロパティ、PhoneticsコレクションオブジェクトともにExcel2000にてふりがな機能が強化されたことによって追加された機能です。Rangeオブジェクトの下位オブジェクトになります。
構文 Object.Phonetics 取得のみ
設定項目 内容
Object 対象のRangeオブジェクト [省略不可]
次のサンプルは、セル範囲のふりがなにさまざまな設定をしています。
●サンプル1●
Sub PhoneticsSamp1()
Range("A1:A5").SetPhonetic '--Phoneticsコレクションを作成する
With Range("A1:A5").Phonetics
.Visible = True '--ふりがなを表示する
.Font.Size = 8 '--ふりがなのフォントサイズを指定
End With
With Range("A1").Phonetics '--セルA1のふりがなに対して
.CharacterType = xlHiragana '--文字を「かな」にする
.Alignment = xlPhoneticAlignCenter'--配置を中央揃えにする
End With
With Range("A2").Phonetics '--セルA2のふりがなに対して
.CharacterType = xlKatakana '--「カナ」にする
.Alignment = xlPhoneticAlignLeft '--配置を左寄せにする
End With
With Range("A3").Phonetics '--セルA3のふりがなに対して
.CharacterType = xlKatakanaHalf '--「カナ」にする
.Alignment = xlPhoneticAlignDistributed '--配置を均等割付にする
End With
With Range("A4").Phonetics '--セルA4のふりがなに対して
.CharacterType = xlHiragana '--文字を「かな」にする
.Alignment = xlPhoneticAlignNoControl '--(1)配置を制御しない
End With
With Range("A5").Phonetics '--セルA5のふりがなに対して
.CharacterType = xlHiragana
.Alignment = xlPhoneticAlignDistributed
.Item(2).Text = "とき" '--(2)2つめのふりがなを変更する
End With
End Sub
Visibleプロパティで表示/非表示を切り替え、Fontプロパティでフォントを指定し、CharacterTypeプロパティで文字のタイプを指定し、Alignmentプロパティで配置を指定します。
なお、ひらがなやカタカナに対してもふりがなを表示したい場合には、(1)のステートメントのようにAlignmentプロパティに定数xlPhoneticAlignNoControlを指定してください。
また、Phoneticsコレクションの個々のメンバを参照するには、(2)のステートメントのようにItemプロパティを使用します。単語ごとのふりがながメンバになっていると考えればよいでしょう。ItemプロパティとTextプロパティを使用することで、単語単位でふりがなを変更できます。
前述したように、前バージョンまでのPhoneticオブジェクトとPhoneticsコレクションオブジェクトの個々のメンバは同じものではありません。そのことは、次のサンプルの実行結果を見ればよくわかると思います。
●サンプル2●
Sub PhoneticsSamp2()
Dim i As Integer
Dim mycnt As Integer
With Range("A1").Phonetics '----セルA1のふりがなについて
mycnt = .Count '----ふりがなの個数をカウント
For i = 1 To mycnt '----最後のふりがなまで
Cells(2, i).Value = .Item(i).Text '----2行目に列方向に書き込んでいく
Next i
End With
Cells(3, 1).Value = Range("A1").Phonetic.Text '---セルA3にPhonetcプロパティ
'---を使用した場合のふりがな
'---情報を記述します。
End Sub
Phoneticプロパティが、セルの全体のふりがなを参照できる機能を持つのに対して、Phoneticsオブジェクトの個々のメンバーは、セル内の単語にひとつという形で存在しています。