关于ShowOpen控件

主  题:  关于ShowOpen控件
作  者:  Andy_hyou (碎羽)
等  级:  ^
信 誉 值:  98
所属论坛:  VB VBA
问题点数:  50
回复次数:  7
发表时间:  2003-7-9 13:07:21

当用ShowOpen控件让用户选择打开文件的时候,怎么获得用户选择了“打开”还是“取消”?或者是“X”?多谢!



回复人: cdknet(VB版主) ( 一星(中级)) 信誉:99 2003-7-10 11:46:08 得分:0

判断 FileName属性咯

回复人: alicky(周松) ( 五级(中级)) 信誉:100 2003-7-10 11:50:23 得分:0

With CommonDialog1
    .CancelError = False
    .InitDir = StrAppPath
    .DialogTitle = "请选择数据库"
    .Filter = "*.mdb|*.MDB"
    .ShowOpen
End With
If CommonDialog1.FileTitle <> "" Then
    msgbox "取消"
else
    msgbox "已选择"
end if

回复人: lxqlogo0(群子) ( 一星(中级)) 信誉:92 2003-7-10 11:52:38 得分:0

With dlgCommonDialog
    .DialogTitle = "Open"
    .Flags = &H4
    .CancelError = True
    'ToDo: set the flags and attributes of the common dialog control
    .Filter = "java文件(*.java)|*.java|HTML文件(*.html;*.htm)|*.html;*.htm|文本文件(*.txt)|*.txt|All Files (*.*)|*.*"
    .ShowOpen
    If Len(.FileName) = 0 Then
        Exit Sub
    End If
    sFile = .FileName
End With

回复人: cdknet(VB版主) ( 一星(中级)) 信誉:99 2003-7-10 11:57:41 得分:0

如果 Object.FileName 为空,说明没选择文件或点了取消或是 "X",呵呵呵,反之就是……

回复人: Andy_hyou(碎羽) ( 一级(初级)) 信誉:98 2003-7-10 13:50:40 得分:0

有问题,第一次运行正常,但是当选中并打开过一个文件后,FileName和FileTitle里似乎就都保存了刚才的文件名,第二次运行时,无论是否输入文件名,是否选择打开,FileName和FileTitle都不为空。而且FileTitle是只读属性,不能设其为空。
咋办?

回复人: Andy_hyou(碎羽) ( 一级(初级)) 信誉:98 2003-7-10 13:57:51 得分:0

另外,

If CommonDialog1.FileTitle <> "" Then
         Workbooks.Open(FileTitle)
    else
         msgbox "cancel"
end If

如果用户选择的文件已处于打开状态,系统会弹出对话框说“此文件已打开,是否要二次打开”之类的,如果此时用户选择否,那么Workbooks.Open(FileTitle)语句就无法执行,就会出现错误,怎么办?
请高手指点!!!

回复人: appleliuwei(小苹果) ( 一级(初级)) 信誉:100 2003-7-10 15:41:39 得分:50

我的做法是不显示系统提示,自己做这个对话框,因为不知道如何取得系统对话框的属性
不知道高手有没有别的办法

该问题已经结贴 ,得分记录: appleliuwei (50)、

Contributors: FHL