728x90
반응형
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
반응형
댓글