別のblogとか
![]() ![]() ![]() |
=HANGDECOMPOSE("한국어 문자열")と書けばハングル(U+AC00〜U+D7A3)を分解して表示します。ハングル音節以外の文字はそのまま出力します。
Function HANGDECOMPOSE(HangStr As String) As String
HangLen = Len(HangStr$)
TempStr$ = ""
For I = 1 To HangLen
TempCode = Asc(Mid(HangStr, I, 1))
If (TempCode >= 44032) And (TempCode <= 55203) Then
SyllableCode = TempCode - 44032
ChoseongCode = Fix(SyllableCode / 588)
MoeumCode = Fix((SyllableCode mod 588) / 28)
PatchimCode = (SyllableCode mod 28)
TempStr = TempStr & Chr$(ChoseongCode + 4352) & Chr$(MoeumCode + 4449)
If (PatchimCode > 0) Then
TempStr = TempStr & Chr$(PatchimCode + 4519)
End If
Else
TempStr = TempStr & Mid(HangStr, I, 1)
End If
Next
HANGDECOMPOSE = TempStr
End Function