アプリ版:「スタンプのみでお礼する」機能のリリースについて

WORDかEXCELで、アルファベットや数字にフリガナを振る方法をご教示ください。
L → エル
O → オー
0 → ゼロ
1 → イチ
などです。

A 回答 (2件)

単語単位での読み仮名でしたら、EXCELやWORDでは手作業でやるしかありません。



文字単位でいいですか?例えば、EXCEL という語なら

× エクセル
○ イー エックス シー イー エル

ならVBAで出来ますが。

読み仮名をふるセル範囲を選択し、下記マクロを実行します。ちなみに数字の場合には、先に文字列にしておく必要があります。完了したら、EXCELのPHONETIC関数で読み仮名を表示できます。



Sub 英数字フリガナ()
  
  Dim strTarget$, strYomi$, strTmp$, Buf$
  Dim rngCurrent   As Range
  Dim aryYomi(35, 1) As String
  Dim tmp
  Dim i As Long, j  As Long
  
  strTarget = "0123456789abcdefghijklmnopqrstuvwxyz"
  strYomi = "ゼロ,イチ,ニ,サン,ヨン,ゴ,ロク,ナナ,ハチ,キュウ,"
  strYomi = strYomi & "エイ,ビー,シー,ディ,イー,エフ,ジー,エイチ,アイ,ジェイ,"
  strYomi = strYomi & "ケイ,エル,エム,エヌ,オウ,ピー,キュウ,アール,エス,ティ,"
  strYomi = strYomi & "ユウ,ブイ,ダブリュ,エックス,ワイ,ゼット"

  tmp = Split(strYomi, ",")
  For i = 1 To 36
    aryYomi(i - 1, 0) = Mid(strTarget, i, 1)
    aryYomi(i - 1, 1) = tmp(i - 1)
  Next i
  For Each rngCurrent In Selection
    If Not IsEmpty(rngCurrent) Then
      Buf = CStr(Trim(rngCurrent.Value))
      Buf = StrConv(Buf, vbNarrow)
      Buf = StrConv(Buf, vbLowerCase)
      strYomi = ""
      For i = 1 To Len(Buf)
        strTmp = Mid(Buf, i, 1)
        For j = 1 To 36
          If strTmp = aryYomi(j - 1, 0) Then
            strYomi = strYomi & aryYomi(j - 1, 1) & " "
            Exit For
          End If
        Next j
      Next i
      rngCurrent.Characters.PhoneticCharacters = Trim(strYomi)
    End If
  Next rngCurrent

End Sub
    • good
    • 2
この回答へのお礼

ありがとうございます。
助かりました。

お礼日時:2005/03/11 20:21

Wordであれば、書式に「ルビ」


Excelであれば、書式に「ふりがな」
があると思います。こちらを利用しましょう。
    • good
    • 1
この回答へのお礼

質問が曖昧でした。
自動でフリガナをふることができれば
という意味でした。

お礼日時:2005/03/11 14:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています