Noname > 29-08-19, 03:57 PM
maidinhdan > 14-05-20, 02:15 PM
tranthanhan1962 > 10-06-23, 10:16 PM
ongke0711 > 11-06-23, 09:57 AM
(10-06-23, 10:16 PM)tranthanhan1962 Đã viết: Tôi bị lỗi này mà xử lý mãi không xong. Tôi sử dụng bộ gõ telex của window 11. Khi sử dụng tool của Nonam thì nó dịch chữ [ợ] ra thành ChrW(7907). dùng MsgBoxUni để chuyển ra thông báo thì nó dịch ChrW(7907) thành [ś]. vào word kiểm tra thì đúng là chữ [ợ] là ChrW(7907) thật.Có khi nào MsgBoxUni bị lỗi không nhỉ?
Option Explicit
#If VBA7 Then
Private Declare PtrSafe Function GetActiveWindow Lib "user32" () As LongPtr
Public Declare PtrSafe Function MessageBoxW Lib "user32" _
(ByVal hwnd As LongPtr, _
ByVal lpText As LongPtr, _
ByVal lpCaption As LongPtr, _
ByVal wType As Long) As Long
#Else
Private Declare Function GetActiveWindow Lib "user32" () As Long
Public Declare Function MessageBoxW Lib "user32" _
(ByVal hwnd As Long, _
ByVal lpText As Long, _
ByVal lpCaption As Long, _
ByVal wType As Long) As Long
#End If
Public Function MsgBoxUni(ByVal sMsgUni As String, Optional ByVal Buttons As VbMsgBoxStyle = vbOKOnly, Optional ByVal sTitleUni As String = "Thông báo") As VbMsgBoxResult
MsgBoxUni = MessageBoxW(GetActiveWindow, StrPtr(sMsgUni), StrPtr(sTitleUni), Buttons)
End Function
AnNguyen > 13-06-23, 08:51 AM
(11-06-23, 09:57 AM)ongke0711 Đã viết:(10-06-23, 10:16 PM)tranthanhan1962 Đã viết: Tôi bị lỗi này mà xử lý mãi không xong. Tôi sử dụng bộ gõ telex của window 11. Khi sử dụng tool của Nonam thì nó dịch chữ [ợ] ra thành ChrW(7907). dùng MsgBoxUni để chuyển ra thông báo thì nó dịch ChrW(7907) thành [ś]. vào word kiểm tra thì đúng là chữ [ợ] là ChrW(7907) thật.Có khi nào MsgBoxUni bị lỗi không nhỉ?
Anh dùng cái hàm MsgboxUni() này xem thử.
Mã PHP:Option Explicit
#If VBA7 Then
Private Declare PtrSafe Function GetActiveWindow Lib "user32" () As LongPtr
Public Declare PtrSafe Function MessageBoxW Lib "user32" _
(ByVal hwnd As LongPtr, _
ByVal lpText As LongPtr, _
ByVal lpCaption As LongPtr, _
ByVal wType As Long) As Long
#Else
Private Declare Function GetActiveWindow Lib "user32" () As Long
Public Declare Function MessageBoxW Lib "user32" _
(ByVal hwnd As Long, _
ByVal lpText As Long, _
ByVal lpCaption As Long, _
ByVal wType As Long) As Long
#End If
Public Function MsgBoxUni(ByVal sMsgUni As String, Optional ByVal Buttons As VbMsgBoxStyle = vbOKOnly, Optional ByVal sTitleUni As String = "Thông báo") As VbMsgBoxResult
MsgBoxUni = MessageBoxW(GetActiveWindow, StrPtr(sMsgUni), StrPtr(sTitleUni), Buttons)
End Function