vb通用对话框的使用

这是我的代码: Dim pstr As String
Dim fm As String 'fm变量用来获取用户输入的文件名
MDIForm1.CommonDialog2.Filter = "MDB文件(*.mdb)|*.mdb|AllFiles(*.*)|*.*|" '创建mdb格式的文件
MDIForm1.CommonDialog2.FilterIndex = 1 '设置文件初始过滤方式为*.mdb
MDIForm1.CommonDialog2.InitDir = "D:\"
MDIForm1.CommonDialog2.Flags = 6 '隐藏只读对话框
MDIForm1.CommonDialog2.Action = 2
'action控件一共有6个值:1为打开文件showopen,2为保存文件showsave,3为选择颜色showcolor,4为选择字体showfont,5为打印showprint,6不常用
If MDIForm1.CommonDialog2.FileName = "" Then
MsgBox "你必须输入一个文件名,请重新保存一次!"
Exit Sub
Else
fm = MDIForm1.CommonDialog2.FileName
End If运行后,当我按了“取消”按钮后还是跳出MsgBox "你必须输入一个文件名,请重新保存一次!"该怎么解决

Private Sub Command1_Click()
On Error GoTo exitone
Dim pstr As String
Dim fm As String 'fm变量用来获取用户输入的文件名
CommonDialog2.CancelError = True
CommonDialog2.Filter = "MDB文件(*.mdb)|*.mdb|AllFiles(*.*)|*.*|" '创建mdb格式的文件
CommonDialog2.FilterIndex = 1 '设置文件初始过滤方式为*.mdb
CommonDialog2.InitDir = "D:\"
CommonDialog2.Flags = 6 '隐藏只读对话框
CommonDialog2.ShowSave
'action控件一共有6个值:1为打开文件showopen,2为保存文件showsave,3为选择颜色showcolor,4为选择字体showfont,5为打印showprint,6不常用
If CommonDialog2.FileName = "" Then
MsgBox "你必须输入一个文件名,请重新保存一次!"
Exit Sub
Else
fm = CommonDialog2.FileName
End If
Exit Sub
exitone:

End Sub这样 取消的话就直接跳出了 不弹框 而你那个文件名为空则弹框的不能实现 因为这个是系统自带控件 为空的时候 对话框自动判断 不做任何处理 所以代码招待不到的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-01
1 2 是定义字符型变量对不?3 4 5 6 7 是什么意思啊。。我知道CommonDialog控件画好后,共有6种方法ShowColor 显示颜色对话框ShowFont '显示字体对话框
ShowHelp '显示帮助
ShowOpen '显示打开文件对话框
ShowPrinter '显示打印机对话框
ShowSave '显示保存对话框
你这个是什么啊?你是不是在CANCEL那里搞错拉。。。如果说你要取消,是不是可以用unload me啊
相似回答