Noname > 06-10-11, 04:30 PM
Function VbaUni(chuoi As String) As String
If chuoi = "" Then
VbaUni = """"""
Else
chuoi = chuoi & " "
If AscW(Left(chuoi, 1)) < 256 Then VbaUni = """"
For n = 1 To Len(chuoi) - 1
uni1 = Mid(chuoi, n, 1)
uni2 = AscW(Mid(chuoi, n + 1, 1))
If AscW(uni1) > 255 And uni2 > 255 Then
VbaUni = VbaUni & "ChrW(" & AscW(uni1) & ") & "
ElseIf AscW(uni1) > 255 And uni2 < 256 Then
VbaUni = VbaUni & "ChrW(" & AscW(uni1) & ") & """
ElseIf AscW(uni1) < 256 And uni2 > 255 Then
VbaUni = VbaUni & uni1 & """ & "
Else
VbaUni = VbaUni & uni1
End If
Next
If Right(VbaUni, 4) = " & """ Then
VbaUni = Mid(VbaUni, 1, Len(VbaUni) - 4)
Else
VbaUni = VbaUni & """"
End If
End If
End Function
hmanhha > 13-03-13, 10:00 AM
Xuân Thanh > 13-03-13, 11:31 AM
(13-03-13, 10:00 AM)hmanhha Đã viết: Em có một bảng mà giá trị các trường là tiếng việt.Em khai báo
dim rs as Dao.recordset
Cho rs chạy trong bảng lấy ra các trường này.
Vấn đề là làm thế nào hiển thị ra tiếng việt bây giờ nhỉ.
hmanhha > 14-03-13, 11:44 PM
(13-03-13, 11:31 AM)Xuân Thanh Đã viết:Bác ơi.(13-03-13, 10:00 AM)hmanhha Đã viết: Em có một bảng mà giá trị các trường là tiếng việt.Em khai báo
dim rs as Dao.recordset
Cho rs chạy trong bảng lấy ra các trường này.
Vấn đề là làm thế nào hiển thị ra tiếng việt bây giờ nhỉ.
Câu hỏi của bạn không rõ ràng. hiển thị tiếng Việt ra đâu? Trên form? MsgBox?...
trungn077 > 15-03-13, 12:39 AM
(06-10-11, 04:30 PM)Noname Đã viết: Ta đã biết, trong VBA của office 2k3 về trước, ta vô phương nhập được chuỗi tiếng Việt Unicode. Đa số ta quay lại bảng mã VNI hoặc ABC.
Tuy nhiên, theo xu hướng, càng ngày càng ít người dùng hai bảng mã này.
Một giải pháp khác là ta thể hiện chuỗi Unicode tiếng Việt đó nhờ hàm Chrw( mã unicode)
Ví dụ: Để nhập 1 câu sau:
text1.value= "ngày tháng năm, một hai ba bốn, những"
Trong VBA ta phải nhập là:
text1.value="ngày tháng n" & ChrW(259) & "m, m" & ChrW(7897) & "t hai ba b" & ChrW(7889) & "n, nh" & ChrW(7919) & "ng"
Việc dùng hàm này rất mất thời gian và dễ nhầm lẫn vì bảng mã Unicode có tới gần 65000 ký tự.
Rất may, chúng ta có 1 hàm hỗ trợ ta dịch 1 chuỗi Unicode thành chuỗi VBA Unicode.
Mã:Function VbaUni(chuoi As String) As String
If chuoi = "" Then
VbaUni = """"""
Else
chuoi = chuoi & " "
If AscW(Left(chuoi, 1)) < 256 Then VbaUni = """"
For n = 1 To Len(chuoi) - 1
uni1 = Mid(chuoi, n, 1)
uni2 = AscW(Mid(chuoi, n + 1, 1))
If AscW(uni1) > 255 And uni2 > 255 Then
VbaUni = VbaUni & "ChrW(" & AscW(uni1) & ") & "
ElseIf AscW(uni1) > 255 And uni2 < 256 Then
VbaUni = VbaUni & "ChrW(" & AscW(uni1) & ") & """
ElseIf AscW(uni1) < 256 And uni2 > 255 Then
VbaUni = VbaUni & uni1 & """ & "
Else
VbaUni = VbaUni & uni1
End If
Next
If Right(VbaUni, 4) = " & """ Then
VbaUni = Mid(VbaUni, 1, Len(VbaUni) - 4)
Else
VbaUni = VbaUni & """"
End If
End If
End Function
Dưới đây là 1 ứng dụng của hàm này.
Ta nhập chuỗi tiếng Việt vào ô phía trên, nhấn chuyển, và copy giá trị trả về ở ô phía dưới vào chỗ cần điền tiếng Việt là được!
Chúc thành công!
Download
hmanhha > 15-03-13, 11:11 AM
Xuân Thanh > 15-03-13, 03:09 PM
hmanhha > 15-03-13, 07:09 PM
Xuân Thanh > 16-03-13, 12:06 PM
(15-03-13, 07:09 PM)hmanhha Đã viết:(15-03-13, 03:09 PM)Xuân Thanh Đã viết: Xin thưa : Treeview tương thích tốt nhất với font VNI, không tương thích font UnicodeThế thì theo bác là làm thế nào chuyển đổi font trong database có được không.
Thân mến
Đến khổ.
hmanhha > 17-03-13, 03:35 PM
(16-03-13, 12:06 PM)Xuân Thanh Đã viết:Em up cả DB lên rùi.Bác làm ơn làm phúc xem sửa chỗ nào thì bảo em luôn cái được không chứ cứ chung chung chi sự thế này mệt quá đi mất.Làm mãi không được.(15-03-13, 07:09 PM)hmanhha Đã viết:(15-03-13, 03:09 PM)Xuân Thanh Đã viết: Xin thưa : Treeview tương thích tốt nhất với font VNI, không tương thích font UnicodeThế thì theo bác là làm thế nào chuyển đổi font trong database có được không.
Thân mến
Đến khổ.
Không cần chuyển font cho cả Database, chỉ cần dùng font VNI cho Treeview là được
Thân mến