Mình đang sử dụng code sau để tạo Msgbox Uni tiếng viết có dấu bây giờ muốn chế biến thêm một tí là tạo chữ "Thông Báo" trên tiêu đề Msgbox thành chữ đậm hoặc chữ Nghiêng mà chưa được Mong các thành viên GPE trợ giúp
Xin cảm ơn PS: nếu trên GPE có chủ đề này rồi thì cho mình xin Link
PHP:
Public Sub MsgboxUni_TiengViet()
CreateObject("WScript.Shell").PopUp "Ki" & ChrW(7873) & "u M" & ChrW(7841) & "nh Xin Chào", , "Thông Báo", vbInformation
End Sub
Mình đang sử dụng code sau để tạo Msgbox Uni tiếng viết có dấu bây giờ muốn chế biến thêm một tí là tạo chữ "Thông Báo" trên tiêu đề Msgbox thành chữ đậm hoặc chữ Nghiêng mà chưa được Mong các thành viên GPE trợ giúp
Xin cảm ơn PS: nếu trên GPE có chủ đề này rồi thì cho mình xin Link
PHP:
Public Sub MsgboxUni_TiengViet()
CreateObject("WScript.Shell").PopUp "Ki" & ChrW(7873) & "u M" & ChrW(7841) & "nh Xin Chào", , "Thông Báo", vbInformation
End Sub
Mình Siêu tầm code sau tạo Msgbox trên Access thấy giao diện dễ nhìn đẹp hơn object.Popup Msgbox ...
code chạy trên Access thì tốt nhưng mình chuyên qua Excel thì báo Lỗi ....code Access thì mình tịt ...vậy Úp lên nhờ các bạn chuyển code qua Xài trên Excel
Xin Cảm ơn
PHP:
Function VietUniMsgBox(Prompt As String, _
Optional Buttons As VbMsgBoxStyle = vbOKOnly, _
Optional Title As String = vbNullString, _
Optional HelpFile As Variant, _
Optional Context As Variant) _
As VbMsgBoxResult
If IsMissing(HelpFile) Or IsMissing(Context) Then
FormattedMsgBox = Eval("MsgBox(""" & Prompt & _
""", " & Buttons & ", """ & Title & """)")
Else
FormattedMsgBox = Eval("MsgBox(""" & Prompt & _
""", " & Buttons & ", """ & Title & """, """ & _
HelpFile & """, " & Context & ")")
End If
End Function
Mình Siêu tầm code sau tạo Msgbox trên Access thấy giao diện dễ nhìn đẹp hơn object.Popup Msgbox ...
code chạy trên Access thì tốt nhưng mình chuyên qua Excel thì báo Lỗi ....code Access thì mình tịt ...vậy Úp lên nhờ các bạn chuyển code qua Xài trên Excel
Xin Cảm ơn
PHP:
Function VietUniMsgBox(Prompt As String, _
Optional Buttons As VbMsgBoxStyle = vbOKOnly, _
Optional Title As String = vbNullString, _
Optional HelpFile As Variant, _
Optional Context As Variant) _
As VbMsgBoxResult
If IsMissing(HelpFile) Or IsMissing(Context) Then
FormattedMsgBox = Eval("MsgBox(""" & Prompt & _
""", " & Buttons & ", """ & Title & """)")
Else
FormattedMsgBox = Eval("MsgBox(""" & Prompt & _
""", " & Buttons & ", """ & Title & """, """ & _
HelpFile & """, " & Context & ")")
End If
End Function
Function VietUniMsgBox(ByVal Prompt As String, _
Optional ByVal Buttons As VbMsgBoxStyle = vbOKOnly, _
Optional ByVal Title As String = vbNullString, _
Optional ByVal HelpFile As Variant, _
Optional ByVal Context As Variant) As VbMsgBoxResult
[COLOR=#ff0000] Dim scrObj As Object[/COLOR]
Dim FormattedMsgBox As Long
[COLOR=#ff0000]Set scrObj = CreateObject("ScriptControl")[/COLOR]
[COLOR=#ff0000]scrObj.Language = "VBScript"[/COLOR]
If IsMissing(HelpFile) Or IsMissing(Context) Then
FormattedMsgBox = [COLOR=#ff0000]scrObj.Eval[/COLOR]("MsgBox(""" & Prompt & """, " & Buttons & ", """ & Title & """)")
Else
FormattedMsgBox = [COLOR=#ff0000]scrObj.Eval[/COLOR]("MsgBox(""" & Prompt & """, " & Buttons & ", """ & Title & """, """ & HelpFile & """, " & Context & ")")
End If
End Function
Mã:
Sub Test_Msgbox()
[COLOR=#0000cd] Dim Prompt As String, Title As String
Dim Buttons As VbMsgBoxStyle[/COLOR]
[COLOR=#0000cd]Prompt = ChrW(272) & "ây là MsgBox Ti" & ChrW(7871) & "ng Vi" & ChrW(7879) _
& "t!@Không l" & ChrW(7895) & "i Font Unicode ti" & ChrW(7871) & "ng Vi" _
& ChrW(7879) & "t.@Có th" & ChrW(7875) & " t" & ChrW(7841) & "o ch" & _
ChrW(7919) & " nét " & ChrW(273) & ChrW(7853) & "m."
Title = "Msg Box Ti" & ChrW(7871) & "ng Vi" & ChrW(7879) & "t"
Buttons = vbCritical + vbAbortRetryIgnore[/COLOR]
[COLOR=#0000cd]VietUniMsgBox Prompt, Buttons, Title[/COLOR]
End Sub
Chỗ màu đỏ là thêm vào: Eval dùng để biến 1 chuỗi chứa câu lệnh thành lệnh thực thi (cái này tôi cũng có viết mấy bài trên GPE rồi).
Công dụng của Eval gần giống như Evaluate biến chuỗi chứa biểu thức toán học thành kết quả tính toán của biểu thức ấy
Chỗ màu xanh: Code của đồng chí viết "xấu" quá, sửa lại cho "đẹp"
Function VietUniMsgBox(ByVal Prompt As String, _
Optional ByVal Buttons As VbMsgBoxStyle = vbOKOnly, _
Optional ByVal Title As String = vbNullString, _
Optional ByVal HelpFile As Variant, _
Optional ByVal Context As Variant) As VbMsgBoxResult
[COLOR=#ff0000] Dim scrObj As Object[/COLOR]
Dim FormattedMsgBox As Long
[COLOR=#ff0000]Set scrObj = CreateObject("ScriptControl")[/COLOR]
[COLOR=#ff0000]scrObj.Language = "VBScript"[/COLOR]
If IsMissing(HelpFile) Or IsMissing(Context) Then
FormattedMsgBox = [COLOR=#ff0000]scrObj.Eval[/COLOR]("MsgBox(""" & Prompt & """, " & Buttons & ", """ & Title & """)")
Else
FormattedMsgBox = [COLOR=#ff0000]scrObj.Eval[/COLOR]("MsgBox(""" & Prompt & """, " & Buttons & ", """ & Title & """, """ & HelpFile & """, " & Context & ")")
End If
End Function
Mã:
Sub Test_Msgbox()
[COLOR=#0000cd] Dim Prompt As String, Title As String
Dim Buttons As VbMsgBoxStyle[/COLOR]
[COLOR=#0000cd]Prompt = ChrW(272) & "ây là MsgBox Ti" & ChrW(7871) & "ng Vi" & ChrW(7879) _
& "t!@Không l" & ChrW(7895) & "i Font Unicode ti" & ChrW(7871) & "ng Vi" _
& ChrW(7879) & "t.@Có th" & ChrW(7875) & " t" & ChrW(7841) & "o ch" & _
ChrW(7919) & " nét " & ChrW(273) & ChrW(7853) & "m."
Title = "Msg Box Ti" & ChrW(7871) & "ng Vi" & ChrW(7879) & "t"
Buttons = vbCritical + vbAbortRetryIgnore[/COLOR]
[COLOR=#0000cd]VietUniMsgBox Prompt, Buttons, Title[/COLOR]
End Sub
Chỗ màu đỏ là thêm vào: Eval dùng để biến 1 chuỗi chứa câu lệnh thành lệnh thực thi (cái này tôi cũng có viết mấy bài trên GPE rồi).
Công dụng của Eval gần giống như Evaluate biến chuỗi chứa biểu thức toán học thành kết quả tính toán của biểu thức ấy
Chỗ màu xanh: Code của đồng chí viết "xấu" quá, sửa lại cho "đẹp"
Thế thì tôi không biết, có thể giao diện các control trong Access được thiết kế khác với Excel chăng?
Muốn "tròn" và "đẹp", tôi thường dùng DialogSheet
--------------------
Thế thì tôi không biết, có thể giao diện các control trong Access được thiết kế khác với Excel chăng?
Muốn "tròn" và "đẹp", tôi thường dùng DialogSheet
--------------------
Thì chắc vậy rồi!
Tuy nhiên có thể sửa chỗ Buttons thành Buttons + 4096 ---> Sẽ cải thiện được đôi chút
Các kiểu trong dấu ngoặc móc là không bắt buộc, có hay không cũng không thành vấn đề, tùy theo kiểu thông báo mà các bạn thêm hoặc bớt.
Nhưng các bạn vẫn còn thắc mắc là trong cấu trúc có nhiều tiếng Anh khó nhớ quá, xin thưa là không có vấn đề gì, cứ sau khi đặt dấu phẩy sau Tiêu đề là nó sẽ hiển thị các List Constants cho các bạn lựa chọn!
Bài này nghĩa Viết biết lâu rồi ...Msgbox đó mượt và đẹp nhưng thấy code hoa cả mắt ngại xài thôi ....đang tìm kiếm cái tương tự code ngắn gọn dễ hiểu và sử dụng
Quậy Một hồi thấy Msgbox Nghĩa Viết hay thiệt ...lấy luôn cả ICON của Win
PHP:
Sub VietHoa_Msgbox1()
Dim Str1 As String, KM As String, KT As String
Str1 = "Written by Hoàng Tr" & ChrW(7885) & "ng Ngh" & ChrW(297) & "a" & vbCrLf _
& "Gi" & ChrW(7843) & "i Pháp Excel Công C" & ChrW(7909) & " Tuy" & ChrW(7879) _
& "t V" & ChrW(7901) & "i C" & ChrW(7911) & "a B" & ChrW(7841) & "n !!!"
KM = "Ngh" & ChrW(297) & "a " & ChrW(272) & ChrW(7865) & "p Trai"
KT = MyUniMsgBox(KM, Str1, msoAlertIconInfo, 14)
If KT = vbYes Then
MsgBox "Ban Chon Co", , "Thông Báo"
Else
MsgBox "Ban Chon Khong", , "Thông Báo"
End If
End Sub
Code 2 Ngắn hơn Một Tẹo
PHP:
Sub VietHoa_Msgbox2()
Dim Str1 As String, KM As String, KT As String
Str1 = "Written by Hoàng Tr" & ChrW(7885) & "ng Ngh" & ChrW(297) & "a" & vbCrLf _
& "Gi" & ChrW(7843) & "i Pháp Excel Công C" & ChrW(7909) & " Tuy" & ChrW(7879) _
& "t V" & ChrW(7901) & "i C" & ChrW(7911) & "a B" & ChrW(7841) & "n !!!"
KM = "Ngh" & ChrW(297) & "a " & ChrW(272) & ChrW(7865) & "p Trai"
KT = MyUniMsgBox(KM, Str1, 3, 111) ''<- Thay doi Tham So Sau no lay ICO Sytem32 cua Win
If KT = vbYes Then
MsgBox "Ban Chon Co", , "Thông Báo"
ElseIf KT = vbCancel Then
MsgBox "Ban Chon Huy Bo", , "Thông Báo"
Else
MsgBox "Ban Chon Khong", , "Thông Báo"
End If
End Sub