当前位置:编程学习 > VB >>

msgbox的小问题

VBA运行过程中出现msgbox提示框后,我点击“确定”按钮,想要他继续执行我的任务,是不是用中间的那个语句:
     msgbox ".................." 
     if vbok=true then
     ...............
  
我怎么运行都停止了,没有再继续了。可书上都是这样写的啊。是不是这条语句是错的啊,那位高手指点一下下,我迷惑好久了!!!!! --------------------编程问答-------------------- if MsgBox("Do you really wish to quit this program?", vbOKCancel + vbQuestion, "Confirmation") = vbok then
 :
 :
else
 :
 :
end if
--------------------编程问答-------------------- 平时多找点资料看看吧

Private Sub Command1_Click()
   If MsgBox("ÄúÈ·¶¨ÒªÍ˳öÂð ?", vbYesNo, "Í˳öϵͳ") = vbYes Then Unload Me
End Sub


MsgBox函数 

在对话框中显示消息,等待用户单击按钮,并返回一个 Integer 告诉用户单击哪一个按钮。

语法

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

MsgBox 函数的语法具有以下几个命名参数:

部分 描述 
Prompt 必需的。字符串表达式,作为显示在对话框中的消息。prompt 的最大长度大约为 1024 个字符,由所用字符的宽度决定。如果 prompt 的内容超过一行,则可以在每一行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或是回车与换行符的组合 (Chr(13) & Chr(10)) 将各行分隔开来。 
Buttons 可选的。数值表达式是值的总和,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果省略,则 buttons 的缺省值为 0。 
Title 可选的。在对话框标题栏中显示的字符串表达式。如果省略 title,则将应用程序名放在标题栏中。 
Helpfile 可选的。字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。如果提供了 helpfile,则也必须提供 context。 
Context 可选的。数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。如果提供了 context,则也必须提供 helpfile。 


设置值

buttons 参数有下列设置值:

常数 值 描述 
vbOKOnly 0 只显示 OK 按钮。 
VbOKCancel 1 显示 OK 及 Cancel 按钮。 
VbAbortRetryIgnore 2 显示 Abort、Retry 及 Ignore 按钮。 
VbYesNoCancel 3 显示 Yes、No 及 Cancel 按钮。 
VbYesNo 4 显示 Yes 及 No 按钮。 
VbRetryCancel 5 显示 Retry 及 Cancel 按钮。 
VbCritical 16 显示 Critical Message 图标。 
VbQuestion 32 显示 Warning Query 图标。 
VbExclamation 48 显示 Warning Message 图标。 
VbInformation 64 显示 Information Message 图标。 
vbDefaultButton1 0 第一个按钮是缺省值。 
vbDefaultButton2 256 第二个按钮是缺省值。 
vbDefaultButton3 512 第三个按钮是缺省值。 
vbDefaultButton4 768 第四个按钮是缺省值。 
vbApplicationModal 0 应用程序强制返回;应用程序一直被挂起,直到用户对消息框作出响应才继续工作。 
vbSystemModal 4096 系统强制返回;全部应用程序都被挂起,直到用户对消息框作出响应才继续工作。 
vbMsgBoxHelpButton 16384 将Help按钮添加到消息框 
VbMsgBoxSetForeground 65536 指定消息框窗口作为前景窗口 
vbMsgBoxRight 524288 文本为右对齐 
vbMsgBoxRtlReading 1048576 指定文本应为在希伯来和阿拉伯语系统中的从右到左显示 


第一组值 (0-5) 描述了对话框中显示的按钮的类型与数目;第二组值 (16, 32, 48, 64) 描述了图标的样式;第三组值 (0, 256, 512) 说明哪一个按钮是缺省值;而第四组值 (0, 4096) 则决定消息框的强制返回性。将这些数字相加以生成 buttons 参数值的时候,只能由每组值取用一个数字。

注意 这些常数都是 Visual Basic for Applications (VBA) 指定的。结果,可以在程序代码中到处使用这些常数名称,而不必使用实际数值。

返回值

常数 值 描述 
vbOK 1 OK 
vbCancel 2 Cancel 
vbAbort 3 Abort 
vbRetry 4 Retry 
vbIgnore 5 Ignore 
vbYes 6 Yes 
vbNo 7 No 


说明

在提供了 helpfile 与 context 的时候,用户可以按 F1 来查看与 context 相应的帮助主题。像 Microsoft Excel 这样一些主机应用程序也会在对话框中自动添加一个 Help 按钮。

如果对话框显示 Cancel 按钮,则按下 ESC 键与单击 Cancel 按钮的效果相同。如果对话框中有 Help 按钮,则对话框中提供有上下文相关的帮助。但是,直到其它按钮中有一个被单击之前,都不会返回任何值。

注意 如果还要指定第一个命名参数以外的参数,则必须在表达式中使用 MsgBox。为了省略某些位置参数,必须加入相应的逗号分界符。


--------------------编程问答-------------------- 晕....乱码

Private Sub Command1_Click() 
   If MsgBox("您确定要退出吗 ?", vbYesNo, "系统测试") = vbYes Then Unload Me 
End Sub 
--------------------编程问答--------------------
Dim iResult%
iResult = MsgBox("你想要干什么?", 32 + vbYesNoCancel, "询问")
If (iResult = vbYes) Then
    '选择‘是’进行的操作
    MsgBox "你选择了“是”", 64, "提示"
ElseIf (iResult = vbNo) Then
    '选择‘否’进行的操作
    MsgBox "你选择了“否”", 64, "提示"
Else
    '选择‘取消’进行的操作
    MsgBox "你选择了“取消”", 64, "提示"
End If

--------------------编程问答-------------------- 顶一下,不错www.skyrising.com --------------------编程问答-------------------- 各位大吓们,我是个初学者,不知道unload me是什么意思也,能否给小师弟指明一下?小的不胜感激!!! --------------------编程问答-------------------- 楼上的, 我不会笑你不懂VB, 但我会笑你 你确实只有一个 懒 字来形容

难道你不会加个Command1 自己在Command1事件里面敲一下 Unload me 不就知道了 ? --------------------编程问答--------------------
引用 6 楼 QQ461053777 的回复:
各位大吓们,我是个初学者,不知道unload me是什么意思也,能否给小师弟指明一下?小的不胜感激!!!


把当前的Form 给结束掉啦。。。 --------------------编程问答--------------------
引用楼主 abing6037 的帖子:
VBA运行过程中出现msgbox提示框后,我点击“确定”按钮,想要他继续执行我的任务,是不是用中间的那个语句: 
     msgbox ".................."  
     if vbok=true then 
     ............... 
   
我怎么运行都停止了,没有再继续了。可书上都是这样写的啊。是不是这条语句是错的啊,那位高手指点一下下,我迷惑好久了!!!!!

哪本书有这么垃圾?真是不可思义 --------------------编程问答-------------------- 贴主真懒,为什么不把代码写全了,很有可能,就是那部分你没有写出来的代码,出问题了。 --------------------编程问答-------------------- 将msgbox的值赋给一个字符串.通过判断字符串的值来输出... --------------------编程问答--------------------
引用 11 楼 QQ342151559 的回复:
将msgbox的值赋给一个字符串.通过判断字符串的值来输出...


-_-!

只有你才这样做!
--------------------编程问答-------------------- 其实这就是一个非常简单的问题,参考一下这段代码:
Dim iResult%
iResult = MsgBox("你想要干什么?", 32 + vbYesNoCancel, "询问")
If (iResult = vbYes) Then
    '选择‘是’进行的操作
     MsgBox "你选择了“是”", 64, "提示"
ElseIf (iResult = vbNo) Then
    '选择‘否’进行的操作
     MsgBox "你选择了“否”", 64, "提示"
Else
    '选择‘取消’进行的操作
     MsgBox "你选择了“取消”", 64, "提示"
End If
iResult = MsgBox("你想结束程序吗?", 32 + vbOKCancel, "询问")
If (iResult = vbOK) Then
    '选择‘确定’进行的操作
     End    '结束程序
'Else
    '选择‘取消’进行的操作
'    MsgBox "你选择了“取消”", 64, "提示"
End If


--------------------编程问答-------------------- 大哥教训的是,小弟一定痛改前非 --------------------编程问答-------------------- 好 --------------------编程问答-------------------- 我也想了解,谢谢LZ. --------------------编程问答-------------------- 这个简单在你的msgbox下面加一条语句
Exit Sub
就行了,行的话给点分 --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- Msgbox()会返回一个整型常量
×××××××××××××××××××××××
vbOK 1 OK 
vbCancel 2 Cancel 
vbAbort 3 Abort 
vbRetry 4 Retry 
vbIgnore 5 Ignore 
vbYes 6 Yes 
vbNo 7 No
×××××××××××××××××××××××
你定义一个整型变量,例如Dim I As Integer
I = Msgbox()
就OK了!
补充:VB ,  VBA
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,