[vb6.0/vba] 한글을 발음대로 영어로 변환(한글이름 영문표기) > vb6.0/vba

본문 바로가기

vb6.0/vba

[vb6.0/vba] [vb6.0/vba] 한글을 발음대로 영어로 변환(한글이름 영문표기)

회원사진
하나를하더라도최선을
2021-01-30 09:21 2,621 0

본문



훔쳐온곳: http://kin.naver.com/qna/detail.nhn?



Function Ename(T$)
    Dim cho() As Variant, moum() As Variant, jong() As Variant
    cho() = Array("g""kk""n""d""tt""r""m""b""pp""s""ss""""j""jj""ch""k""t""p""h")
    moum() = Array("a""ae""ya""yae""eo""e""yeo""ye""o""wa""wae""oe""yo""u""wo""we""wi""yu""eu""ui""i")
    jong() = Array("""k""kk""k""n""n""n""t""l""l""l""l""l""l""l""l""m""p""p""s""ss""ng""j""ch""k""t""p""h")
    Dim i&, W, Str$, K&, n&
    For i = 1 To Len(T)
        W = AscW(Mid(T, i, 1)) - &HAC00
        If W + &HAC00 > 0 Then
            Str = Str & Mid(T, i, 1)
        Else
            For n = 1 To 3
                If n = 2 Then
                        K = (W Mod 21 * 28) \ 28
                        Str = Str & moum(K)
                Else
                    If n = 1 Then
                        K = W \ (21 * 28)
                        Str = Str & cho(K)
                    Else
                        K = (W Mod 21 * 28) Mod 28
                        If K Then Str = Str & jong(K)
                    End If
                End If
            Next
        End If
    Next
    Ename = StrConv(Str, vbProperCase)
End Function

사용 예:) debug.? Ename("한글 app 영어")

결과 예:)Hangeul App Yeongeo


댓글목록0

등록된 댓글이 없습니다.
게시판 전체검색