Function UniToKhongDau(ByVal UniText As String) As String
Dim ArrUNI As Variant, ArrALP As Variant
Dim i As Long, j As Long
Dim inString As String
ArrUNI = Array(225, 224, 7843, 227, 7841, 226, 7845, 7847, 7849, 7851, 7853, 259, 7855, 7857, 7859, 7861, 7863, 273, 233, _
232, 7867, 7869, 7865, 234, 7871, 7873, 7875, 7877, 7879, 237, 236, 7881, 297, 7883, 243, 242, 7887, 245, _
7885, 244, 7889, 7891, 7893, 7895, 7897, 417, 7899, 7901, 7903, 7905, 7907, 250, 249, 7911, 361, 7909, 432, _
7913, 7915, 7917, 7919, 7921, 253, 7923, 7927, 7929, 7925, 193, 192, 7842, 195, 7840, 194, 7844, 7846, 7848, _
7850, 7852, 258, 7854, 7856, 7858, 7860, 7862, 272, 201, 200, 7866, 7868, 7864, 202, 7870, 7872, 7874, 7876, _
7878, 205, 204, 7880, 296, 7882, 211, 210, 7886, 213, 7884, 212, 7888, 7890, 7892, 7894, 7896, 416, 7898, 7900, _
7902, 7904, 7906, 218, 217, 7910, 360, 7908, 431, 7912, 7914, 7916, 7918, 7920, 221, 7922, 7926, 7928, 7924)
ArrALP = Array("a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "d", "e", "e", "e", "e", "e", _
"e", "e", "e", "e", "e", "e", "i", "i", "i", "i", "i", "o", "o", "o", "o", "o", "o", "o", "o", "o", "o", "o", "o", _
"o", "o", "o", "o", "o", "u", "u", "u", "u", "u", "u", "u", "u", "u", "u", "u", "y", "y", "y", "y", "y", "A", "A", _
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "D", "E", "E", "E", "E", "E", "E", "E", _
"E", "E", "E", "E", "I", "I", "I", "I", "I", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", _
"O", "O", "O", "U", "U", "U", "U", "U", "U", "U", "U", "U", "U", "U", "Y", "Y", "Y", "Y", "Y")
For i = 1 To Len(UniText)
inString = Mid(UniText, i, 1)
If AscW(inString) >= 192 Then
For j = 0 To UBound(ArrUNI)
If AscW(inString) = ArrUNI(j) Then inString = ArrALP(j): Exit For
Next
End If
UniToKhongDau = UniToKhongDau + inString
Next
Erase ArrUNI, ArrALP
End Function