是否有其他方法可以在除MsgBox以外的Excel中显示消息?
我在考虑安全警报/启用宏警报样式。我可以使用相同的空格来显示一些文字吗?
我试图在没有他们需要点击按钮的情况下通知用户。
干杯
答案 0 :(得分:5)
如果您希望在用户无需交互的情况下显示消息,您可以创建用户表单并将其显示为无模式,这意味着在显示表单后,VBA的正常执行将继续。
example(form =“UserMsgBox”,label =“Label1”)
Sub Test()
UserMsgBox.Show vbModeless
UserMsgBox.Label1.Caption = "This is my 1st message to you"
UserMsgBox.Repaint
Application.Wait Now + TimeValue("00:00:02")
UserMsgBox.Label1.Caption = "This is my 2nd message to you"
UserMsgBox.Repaint
Application.Wait Now + TimeValue("00:00:02")
UserMsgBox.Label1.Caption = "This is my 3rd and last message to you"
UserMsgBox.Repaint
Application.Wait Now + TimeValue("00:00:02")
UserMsgBox.Hide
End Sub
其次,您可以使用
在Excel应用程序窗口底部的状态栏区域中显示文本Application.StatusBar = "My bottom line message to you"
答案 1 :(得分:1)
我宁愿选择OnTime来安排任务而不是使用Wait。等待可能会阻止所有其他Excel活动。因此,用户必须等待,直到表单消失。使用OnTime,用户仍然可以选择在此期间执行某些操作。所以,这是我的主张(也使用Form方法):
Public Sub showform()
Load UserForm1
UserForm1.StartUpPosition = 0
UserForm1.Left = Application.Left + Application.Width * 0.9 - UserForm1.Width
UserForm1.Top = Application.Top + Application.Height * 0.9 - UserForm1.Height
UserForm1.Show (False)
Application.OnTime Now + TimeValue("0:00:05"), "closeform"
End Sub
Public Sub closeform()
UserForm1.Hide
Unload UserForm1
End Sub
答案 2 :(得分:0)
在回答问题时,请参阅以下链接,了解所有类型的msgbox
列表下面也使用语法 - 希望这会有所帮助!
MsgBox("Some Text", vbCritical, "Message title")
https://msdn.microsoft.com/en-us/library/139z2azd%28v=vs.90%29.aspx
干杯
答案 3 :(得分:0)
您可以使用此类型的消息框而不是默认的VBA MsgBox。它支持Unicode
Application.Assistant.DoAlert "Hoc Excel Online Title", "your message", 0, 4, 0, 0, 0