Không Cho chuyển đổi qua lại giữa các SHEET khi hộp thoại MSGBOX đang được mở

Liên hệ QC

namhn_vn

Thành viên mới
Tham gia
8/12/12
Bài viết
32
Được thích
1
Nhờ Anh Chị Em giúp đỡ !
Mình gặp phải 1 lỗi là khi hộp thoại MSGBOX đang được mở mà vẫn chuyển đổi qua lại giữa các SHEET khác nhau được. Có Anh Chị Em nào biết cách không cho chuyển đổi qua lại giữa các SHEET khi hộp thoại MSGBOX đang được mở thì chỉ giúp mình với. Cảm ơn mọi người nhiều.
 
Nhờ Anh Chị Em giúp đỡ !
Mình gặp phải 1 lỗi là khi hộp thoại MSGBOX đang được mở mà vẫn chuyển đổi qua lại giữa các SHEET khác nhau được. Có Anh Chị Em nào biết cách không cho chuyển đổi qua lại giữa các SHEET khi hộp thoại MSGBOX đang được mở thì chỉ giúp mình với. Cảm ơn mọi người nhiều.
Có lẽ hộp thoại này là hàng không chính hãng rồi. Haha :)
 
Upvote 0
Nếu bạn sử dụng hàm API MessageBoxW để viết hàm MsgUNI tại link https://www.giaiphapexcel.com/diend...nhập-tiếng-việt-font-unicode-trong-vba.17469/ thì cần sửa lại 1 tý.
Mã:
Public Declare Function MessageBox Lib "user32.dll" Alias "MessageBoxW" (ByVal hwnd As Long, _
                                                                          ByVal lpText As Long, _
                                                                          ByVal lpCaption As Long, _
                                                                          ByVal wType As Long) As Long


Public Function MsgUni(ByVal Chuoi As String, Optional Bieutuong As VbMsgBoxStyle = 64, _
                        Optional ByVal Tieude As String = "Tho6ng ba1o !", _
                        Optional ByVal Khac As Long = 0) As VbMsgBoxResult

MsgUni = MessageBox(Khac, StrPtr(UniVBA(Chuoi)), StrPtr(UniVBA(Tieude)), Bieutuong)
End Function
Hàm MessageBoxW nếu tham số hWnd là 0 sẽ không hiển thị msgbox với thuộc tính modal được, nếu đưa hWnd vào thì msgbox sẽ có thuộc tính APPMODAL (có thể chuyển sang ứng dụng khác nhưng không chuyển được giữa các sheet). Do vậy để gọi hàm trên bạn có thể dùng lệnh sau để có thuộc tính APPMODAL:
MsgUni chuoi:="xxx", khac:=Application.hWnd
 
Upvote 0
Nếu bạn sử dụng hàm API MessageBoxW để viết hàm MsgUNI tại link https://www.giaiphapexcel.com/diendan/threads/function-univba-và-msguni-hỗ-trợ-nhập-tiếng-việt-font-unicode-trong-vba.17469/ thì cần sửa lại 1 tý.
Mã:
Public Declare Function MessageBox Lib "user32.dll" Alias "MessageBoxW" (ByVal hwnd As Long, _
                                                                          ByVal lpText As Long, _
                                                                          ByVal lpCaption As Long, _
                                                                          ByVal wType As Long) As Long


Public Function MsgUni(ByVal Chuoi As String, Optional Bieutuong As VbMsgBoxStyle = 64, _
                        Optional ByVal Tieude As String = "Tho6ng ba1o !", _
                        Optional ByVal Khac As Long = 0) As VbMsgBoxResult

MsgUni = MessageBox(Khac, StrPtr(UniVBA(Chuoi)), StrPtr(UniVBA(Tieude)), Bieutuong)
End Function
Hàm MessageBoxW nếu tham số hWnd là 0 sẽ không hiển thị msgbox với thuộc tính modal được, nếu đưa hWnd vào thì msgbox sẽ có thuộc tính APPMODAL (có thể chuyển sang ứng dụng khác nhưng không chuyển được giữa các sheet). Do vậy để gọi hàm trên bạn có thể dùng lệnh sau để có thuộc tính APPMODAL:
MsgUni chuoi:="xxx", khac:=Application.hWnd
Nếu bạn sử dụng hàm API MessageBoxW để viết hàm MsgUNI tại link https://www.giaiphapexcel.com/diendan/threads/function-univba-và-msguni-hỗ-trợ-nhập-tiếng-việt-font-unicode-trong-vba.17469/ thì cần sửa lại 1 tý.
Mã:
Public Declare Function MessageBox Lib "user32.dll" Alias "MessageBoxW" (ByVal hwnd As Long, _
                                                                          ByVal lpText As Long, _
                                                                          ByVal lpCaption As Long, _
                                                                          ByVal wType As Long) As Long


Public Function MsgUni(ByVal Chuoi As String, Optional Bieutuong As VbMsgBoxStyle = 64, _
                        Optional ByVal Tieude As String = "Tho6ng ba1o !", _
                        Optional ByVal Khac As Long = 0) As VbMsgBoxResult

MsgUni = MessageBox(Khac, StrPtr(UniVBA(Chuoi)), StrPtr(UniVBA(Tieude)), Bieutuong)
End Function
Hàm MessageBoxW nếu tham số hWnd là 0 sẽ không hiển thị msgbox với thuộc tính modal được, nếu đưa hWnd vào thì msgbox sẽ có thuộc tính APPMODAL (có thể chuyển sang ứng dụng khác nhưng không chuyển được giữa các sheet). Do vậy để gọi hàm trên bạn có thể dùng lệnh sau để có thuộc tính APPMODAL:
MsgUni chuoi:="xxx", khac:=Application.hWnd
Bài đã được tự động gộp:

Nếu bạn sử dụng hàm API MessageBoxW để viết hàm MsgUNI tại link https://www.giaiphapexcel.com/diendan/threads/function-univba-và-msguni-hỗ-trợ-nhập-tiếng-việt-font-unicode-trong-vba.17469/ thì cần sửa lại 1 tý.
Mã:
Public Declare Function MessageBox Lib "user32.dll" Alias "MessageBoxW" (ByVal hwnd As Long, _
                                                                          ByVal lpText As Long, _
                                                                          ByVal lpCaption As Long, _
                                                                          ByVal wType As Long) As Long


Public Function MsgUni(ByVal Chuoi As String, Optional Bieutuong As VbMsgBoxStyle = 64, _
                        Optional ByVal Tieude As String = "Tho6ng ba1o !", _
                        Optional ByVal Khac As Long = 0) As VbMsgBoxResult

MsgUni = MessageBox(Khac, StrPtr(UniVBA(Chuoi)), StrPtr(UniVBA(Tieude)), Bieutuong)
End Function
Hàm MessageBoxW nếu tham số hWnd là 0 sẽ không hiển thị msgbox với thuộc tính modal được, nếu đưa hWnd vào thì msgbox sẽ có thuộc tính APPMODAL (có thể chuyển sang ứng dụng khác nhưng không chuyển được giữa các sheet). Do vậy để gọi hàm trên bạn có thể dùng lệnh sau để có thuộc tính APPMODAL:
MsgUni chuoi:="xxx", khac:=Application.hWnd
cảm ơn bạn nhiều
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom