(1) フリガナをセットしたい英語
(2) 英語にセットするフリガナの文字
(3) 英語の文字数
この3要素が必要です。
Sub rubi()
Dim i As Long
For i = 1 To 10
Cells(i, 1).Characters(1, Cells(i, 3)) _
.PhoneticCharacters = Cells(i, 2)
Next i
End Sub
結果
文字数をVBA内に組み込むときは、LEN関数を利用します。
Sub rubiLen()
Dim i As Long
For i = 1 To 10
Cells(i, 1).Characters(1, Len(Cells(i, 1))) _
.PhoneticCharacters = Cells(i, 2)
Next i
End Sub
charactersオブジェクト とは
Characters オブジェクトを使用すると、文字列のうちの一部だけを対象にした修正ができます。
Cells( i , 1 ).Characters( 開始 , 文字数 ) = RGB ( 255 , 0 , 0)
のように利用します。
この場合は、セル( i 行目 , 1列目)の文字の中で、
左からの開始文字数目から文字数分、文字を赤にします。
Sub iro()
Dim i As Long
i = 1
Do While Cells(i, 1) <> ""
Cells(i, 1).Characters(Cells(i, 2), _
Cells(i, 3)).Font.Color = RGB(255, 0, 0)
i = i + 1
Loop
End Sub
Characters.PhoneticCharacters プロパティ
ルビ文字列の取得および設定が可能です。
Sub bubun()
Dim i As Long
i = 1
Do While Cells(i, 1) <> ""
Cells(i, 1).Characters(Cells(i, 2), Cells(i, 3)) _
.PhoneticCharacters = Cells(i, 4)
i = i + 1
Loop
End Sub
コメント