Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Hàm chuyển chuỗi Unicode tiếng Việt thành Chuỗi mã Unicode trong VBA
#11
(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.
[Hình: vbaunicode.png]

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

Chào anh Noname! Nhờ bài viết này mà e giải quyết được rất nhiều việc, cám ơn bác nhé
Nhân đây xin hỏi anh em muốn nhập "&" trong label thì sao ah, em nhập vào là nó hiểu là hotkey cho chữ cái đó. Ví dụ em muốn nhập "PCC & CC" thì sao ah??
Chữ ký của vulhu06 Xin chào, mình là vulhu06, Tham gia http://thuthuataccess.com/forum từ ngày 15-06 -12.
Reply
Những người đã cảm ơn
#12
(07-04-14, 09:56 AM)vulhu06 Đã viết: Chào anh Noname! Nhờ bài viết này mà e giải quyết được rất nhiều việc, cám ơn bác nhé
Nhân đây xin hỏi anh em muốn nhập "&" trong label thì sao ah, em nhập vào là nó hiểu là hotkey cho chữ cái đó. Ví dụ em muốn nhập "PCC & CC" thì sao ah??
Bạn chỉ cần nhân đôi chữ &. Ví dụ "BKH && ĐT", "PC && CC"
Thân!
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn vulhu06 , Che_Guevara
#13
(07-04-14, 02:06 PM)paulsteigel Đã viết:
(07-04-14, 09:56 AM)vulhu06 Đã viết: Chào anh Noname! Nhờ bài viết này mà e giải quyết được rất nhiều việc, cám ơn bác nhé
Nhân đây xin hỏi anh em muốn nhập "&" trong label thì sao ah, em nhập vào là nó hiểu là hotkey cho chữ cái đó. Ví dụ em muốn nhập "PCC & CC" thì sao ah??
Bạn chỉ cần nhân đôi chữ &. Ví dụ "BKH && ĐT", "PC && CC"
Thân!

Oh, cảm ơn rất nhiều
Chữ ký của vulhu06 Xin chào, mình là vulhu06, Tham gia http://thuthuataccess.com/forum từ ngày 15-06 -12.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Hướng Dẫn Hàm API trong quản lý file và folder maidinhdan 1 292 22-04-16, 09:40 AM
Bài mới nhất: kieu manh
  Hướng Dẫn Tổng hợp hàm xử lý văn bản và chuỗi ( Có ví dụ) maidinhdan 0 317 16-04-16, 01:17 PM
Bài mới nhất: maidinhdan
  Hướng Dẫn Một số hàm D trong Access Xuân Thanh 12 6,647 22-01-16, 01:55 PM
Bài mới nhất: khanghychu
  Hướng Dẫn Một số hàm C... trong Access Xuân Thanh 2 1,327 21-01-16, 11:06 AM
Bài mới nhất: khanghychu
  [Hàm] Hàm tách lấy số trong một chuỗi cho trước Xuân Thanh 11 2,130 13-10-15, 10:08 AM
Bài mới nhất: tranthanhan1962

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ