漢字をひらがなに(漢字の読み部分の抽出)

まず、一文を平仮名に直すだけでよければ

'''


''' 文書を平仮名変換
'''

''' 変換元文字列
''' ひらがな化済み文字列
'''
Function toHiragana(Value As String) As String
 Dim objExcel As New Microsoft.Office.Interop.Excel.Application
 Dim stKanji As String = Value
 Dim stKana As String = objExcel.GetPhonetic(stKanji)
 Dim StHira As String = StrConv(stKana, VbStrConv.Hiragana)
  objExcel = Nothing

  Return StHira
End Function

こんな所でしょうか。


「ひらがな判定及びひらがな抽出」関連です。元は文書の一文のルビ振り用に考えたコードです。
「ひらがな判定及びひらがな抽出」を組み合わせて使用しています。

'''


''' ルビの検索
'''

''' 漢字
''' 漢字部分の読み仮名1
'''
Public Function IsRubi(ByVal Value As String) As String

    Dim stHira As String = toHiragana(Value)
    Dim stKanji As String = Value
    Dim stKana As String = ""
Back:
    If IsHiragana(stKanji, stKana) Then

      Dim BeFor As Boolean = IsHiragana(stKanji.Substring(0, 1))
      Dim After As Boolean = IsHiragana(stKanji.Substring(stKanji.Length - 1))

      If BeFor And After = False Then
        stHira = stHira.Substring(stKana.Length)
      ElseIf BeFor = False And After Then
        stHira = stHira.Substring(0, stHira.Length - stKana.Length)
      Else
        stHira = stHira.Substring(1, stHira.Length - 2)
        stKana = stKana.Substring(1, stKana.Length - 2)
        stKanji = stKanji.Substring(1, stKanji.Length - 2)
        GoTo Back
      End If

    End If
    Return stHira

End Function

一応、これでOKではあるのですが、問題点として引数に引き渡した文字列の中で複数の漢字が存在する場合、

人の⇒ひと
人の流れ⇒ひとのな
の流れ=なが
人の流⇒(何も返さない)

と言う出力結果となります。
Ifによる判定文中に
  ElseIf BeFor = False And After = False Then
を入れると
人の流⇒ひとのりゅう
となります。
「ひとりゅう」と言う結果を返すように作る事は可能ですが、返ってきた結果はエラーなのであまり意味がないかなぁと。

一応、行頭又は行末に漢字及び中に漢字と言う前提での想定となります。