VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2002/08/20(Tue) 10:55
投稿者花ちゃん
Eメール
URL
タイトル(関連質問)エクセルを利用して(空白対策)フリガナを取得について

上記の設定でふりがなを取得する場合、文字の間に空白が1個入ると下記のように
うまく変換されません。
花房春男  = はなふさはるお
花房 春男 = はなふさ
花房  春男 = はなぶさ  はるお     (半角2個の空白)
花 房 春 男 = はな ふさ はる おとこ  (半角1個の空白)
それで下記のようなコードを作成したのですが!
結構コードが長くなったし、他にいいアイデアがないか、お知恵を拝借したいと思い投稿しました。
Private Sub Text1_LostFocus()
    Dim MyName1 As String
    Dim MyName2 As String
    Dim MyName3 As String
    Dim MyName4 As String
    Dim i       As Long
    MyName1 = Text1.Text
    MyName1 = Replace(MyName1, " ", ":")
    MyName1 = Replace(MyName1, " ", ":")
    MyName2 = Replace(MyName1, ":", "")
    MyName2 = Replace(MyName2, ":", "")
    If Text1.Text <> "" Then
        MyName3 = CreateObject("Excel.Application").GetPhonetic(MyName2)
        MyName4 = CreateObject("Excel.Application").GetPhonetic(MyName1)
        MyName3 = StrConv(MyName3, vbHiragana)
        MyName4 = StrConv(MyName4, vbHiragana)
        For i = 1 To Len(MyName4)
            If Mid$(MyName4, i, 1) = ":" Then
                MyName3 = Left$(MyName3, i - 1) & " " & _
                            Right$(MyName3, Len(MyName3) - i + 1)
            End If
            If Mid$(MyName4, i, 1) = ":" Then
                MyName3 = Left$(MyName3, i - 1) & " " & _
                            Right$(MyName3, Len(MyName3) - i + 1)
            End If
        Next i
        Text2.Text = MyName3
    Else
        Text2.Text = ""
    End If
End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -