Tác giả: phantronghiep07
Mô tả: Mình giới thiệu với các bạn 2 hàm chuyển đổi qua lại giữa 2 font chữ tiếng Việt thông dụng là Unicode và Vni.
Hàm rất đơn giản, các bạn xem là hiều ngay. Chú ý là cửa sổ viết code các bạn cần dùng font chữ Vni.
Khi sử dụng các hàm của mình trong các ứng dụng, các bạn cần ghi rõ tác giả.
1. Hàm chuyển từ font Unicode sang Vni
- Public Function Uni2Vni(nhapUni As String) As String
- '---------------------------------------------------------------------------------------
- ' Function Uni2Vni
- ' Author phantronghiep07
- ' Phone 0915 080 282
- '---------------------------------------------------------------------------------------
- Dim maAcii, Vni, loi, suaLoi
- Dim i As Integer
- maAcii = Array(7845, 7847, 7849, 7851, 7853, 226, 225, 224, 7843, 227, 7841, 7855, 7857, 7859, _
- 7861, 7863, 259, 250, 249, 7911, 361, 7909, 7913, 7915, 7917, 7919, 7921, 432, _
- 7871, 7873, 7875, 7877, 7879, 234, 233, 232, 7867, 7869, 7865, 7889, 7891, 7893, _
- 7895, 7897, 244, 243, 242, 7887, 245, 7885, 7899, 7901, 7903, 7905, 7907, 417, _
- 237, 236, 7881, 297, 7883, 253, 7923, 7927, 7929, 7925, 273, 7844, 7846, 7848, _
- 7850, 7852, 194, 193, 192, 7842, 195, 7840, 7854, 7856, 7858, 7860, 7862, 258, _
- 218, 217, 7910, 360, 7908, 7912, 7914, 7916, 7918, 7920, 431, 7870, 7872, 7874, _
- 7876, 7878, 202, 201, 200, 7866, 7868, 7864, 7888, 7890, 7892, 7894, 7896, 212, _
- 211, 210, 7886, 213, 7884, 7898, 7900, 7902, 7904, 7906, 416, 205, 204, 7880, 296, _
- 7882, 221, 7922, 7926, 7928, 7924, 272)
- Vni = Array("aá", "aà", "aå", "aã", "aä", "aâ", "aù", "aø", "aû", "aõ", "aï", "aé", "aè", _
- "aú", "aü", "aë", "aê", "uù", "uø", "uû", "uõ", "uï", "öù", "öø", "öû", "öõ", _
- "öï", "ö", "eá", "eà", "eå", "eã", "eä", "eâ", "eù", "eø", "eû", "eõ", "eï", _
- "oá", "oà", "oå", "oã", "oä", "oâ", "où", "oø", "oû", "oõ", "oï", "ôù", "ôø", _
- "ôû", "ôõ", "ôï", "ô", "í", "ì", "æ", "ó", "ò", "yù", "yø", "yû", "yõ", "î", _
- "ñ", "AÁ", "AÀ", "AÅ", "AÃ", "AÄ", "AÂ", "AÙ", "AØ", "AÛ", "AÕ", _
- "AÏ", "AÉ", "AÈ", "AÚ", "AÜ", "AË", "AÊ", "UÙ", "UØ", "UÛ", "UÕ", _
- "UÏ", "ÖÙ", "ÖØ", "ÖÛ", "ÖÕ", "ÖÏ", "Ö", "EÁ", "EÀ", "EÅ", _
- "EÃ", "EÄ", "EÂ", "EÙ", "EØ", "EÛ", "EÕ", "EÏ", "OÁ", "OÀ", "OÅ", _
- "OÃ", "OÄ", "OÂ", "OÙ", "OØ", "OÛ", "OÕ", "OÏ", "ÔÙ", "ÔØ", "ÔÛ", _
- "ÔÕ", "ÔÏ", "Ô", "Í", "Ì", "Æ", "Ó", "Ò", "YÙ", "YØ", "YÛ", "YÕ", _
- "Î", "Ñ") ' Cua so viet code phai chon font chu Vni thi hien thi moi dung
- loi = Array("aauø", "aaø", "aaoõ", "auø", "aoõ", "aeù", "aeø", "auuø", "aeâ", "uuø", "uoõ", _
- "öoõ", "eoõ", "AAUØ", "AAØ", "AAOÕ", "AUØ", "AOÕ", "AEÙ", "AEØ", "AUUØ", _
- "AEÂ", "UUØ", "UOÕ", "ÖOÕ", "EOÕ") ' Cua so viet code phai chon font chu Vni thi hien thi moi dung
- suaLoi = Array("aá", "aà", "aã", "aù", "aõ", "aé", "aè", "aú", "aê", "uù", "uõ", "öõ", "eõ", "AÁ", _
- "AÀ", "AÃ", "AÙ", "AÕ", "AÉ", "AÈ", "AÚ", "AÊ", "UÙ", "UÕ", "ÖÕ", "EÕ") ' Cua so viet code phai chon font chu Vni thi hien thi moi dung
- Uni2Vni = nhapUni
- For i = 0 To 133
- Uni2Vni = Replace(Uni2Vni, ChrW(maAcii(i)), Vni(i))
- Next i
- For i = 0 To 25
- Uni2Vni = Replace(Uni2Vni, loi(i), suaLoi(i))
- Next i
- End Function
2. Hàm chuyển từ font Vni sang Unicode:
- Public Function Vni2Uni(nhapVni As String) As String ' Vni --> Unicode
- '---------------------------------------------------------------------------------------
- ' Function Vni2Uni
- ' Author phantronghiep07
- ' Phone 0915 080 282
- '---------------------------------------------------------------------------------------
- Dim maAcii, Vni
- Dim i As Integer
- maAcii = Array(7845, 7847, 7849, 7851, 7853, 226, 7843, 227, 7841, 7855, 7857, 7859, _
- 7861, 7863, 259, 250, 249, 7911, 361, 7909, 7913, 7915, 7917, 7919, 7921, 432, _
- 7871, 7873, 7875, 7877, 7879, 234, 233, 232, 7867, 7869, 7865, 7889, 7891, 7893, _
- 7895, 7897, 7887, 245, 7885, 7899, 7901, 7903, 7905, 7907, 417, _
- 237, 236, 7881, 297, 7883, 253, 7923, 7927, 7929, 7925, 273, 7844, 7846, 7848, _
- 7850, 7852, 194, 7842, 195, 7840, 7854, 7856, 7858, 7860, 7862, 258, _
- 218, 217, 7910, 360, 7908, 7912, 7914, 7916, 7918, 7920, 431, 7870, 7872, 7874, _
- 7876, 7878, 202, 201, 200, 7866, 7868, 7864, 7888, 7890, 7892, 7894, 7896, _
- 7886, 213, 7884, 7898, 7900, 7902, 7904, 7906, 416, 205, 204, 7880, 296, _
- 7882, 221, 7922, 7926, 7928, 7924, 272, 225, 224, 244, 243, 242, 193, 192, 212, 211, 210)
- Vni = Array("aá", "aà", "aå", "aã", "aä", "aâ", "aû", "aõ", "aï", "aé", "aè", _
- "aú", "aü", "aë", "aê", "uù", "uø", "uû", "uõ", "uï", "öù", "öø", "öû", "öõ", _
- "öï", "ö", "eá", "eà", "eå", "eã", "eä", "eâ", "eù", "eø", "eû", "eõ", "eï", _
- "oá", "oà", "oå", "oã", "oä", "oû", "oõ", "oï", "ôù", "ôø", _
- "ôû", "ôõ", "ôï", "ô", "í", "ì", "æ", "ó", "ò", "yù", "yø", "yû", "yõ", "î", _
- "ñ", "AÁ", "AÀ", "AÅ", "AÃ", "AÄ", "AÂ", "AÛ", "AÕ", _
- "AÏ", "AÉ", "AÈ", "AÚ", "AÜ", "AË", "AÊ", "UÙ", "UØ", "UÛ", "UÕ", _
- "UÏ", "ÖÙ", "ÖØ", "ÖÛ", "ÖÕ", "ÖÏ", "Ö", "EÁ", "EÀ", "EÅ", _
- "EÃ", "EÄ", "EÂ", "EÙ", "EØ", "EÛ", "EÕ", "EÏ", "OÁ", "OÀ", "OÅ", _
- "OÃ", "OÄ", "OÛ", "OÕ", "OÏ", "ÔÙ", "ÔØ", "ÔÛ", _
- "ÔÕ", "ÔÏ", "Ô", "Í", "Ì", "Æ", "Ó", "Ò", "YÙ", "YØ", "YÛ", "YÕ", _
- "Î", "Ñ", "aù", "aø", "oâ", "où", "oø", "AÙ", "AØ", "OÂ", "OÙ", "OØ")
- Vni2Uni = nhapVni
- For i = 0 To 133
- Vni2Uni = Replace(Vni2Uni, Vni(i), ChrW(maAcii(i)))
- ' MsgBox Vni2Uni & i
- Next i
- End Function