vb6.0/vba [vb6.0/vba] 한글을 발음대로 영어로 변환(한글이름 영문표기)
페이지 정보
본문
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
- 이전글[vba] ENCODEURL 21.01.30
- 다음글[vba] 아는것이 힘이다 - 2중 및 다중 중첩 For문의 활용 20.10.02
댓글목록
등록된 댓글이 없습니다.