VB的通用对话框 如何返回用户选择的文件类型

因为不同的文件类型,需要使用不同的方法去保存数据或导入数据,所以我想知道用户在通用对话框中选择了文件类型下拉菜单中的哪一项不知道commondialog哪个属性可以返回求... 因为不同的文件类型,需要使用不同的方法去保存数据或导入数据,所以我想知道用户在通用对话框中选择了文件类型下拉菜单中的哪一项
不知道commondialog哪个属性可以返回
求教!!!!!!!
展开
 我来答
zdingyun
推荐于2016-10-05 · 知道合伙人软件行家
zdingyun
知道合伙人软件行家
采纳数:15429 获赞数:48174
1982年上海业余工业大学化工系毕业 现退休

向TA提问 私信TA
展开全部

VB的通用对话框通过Filter 属性筛选用户所需的文件类型,再用Instr函数读取CommonDialog 控件获得FileName 属性取得的路径和文件名的逗号(.)位置。用Mid函数取出文件的扩展名获知所读取文件的类型。亩物

  • Filter 属性(公共对话框),返回或设置在对话框的类型列表框中所显示的过滤器。

  • InStr 函数,返回 Variant(Long),指定一字符串在另一字符串中最先出现的位置弊耐渣。

  • Mid 函数,返回 Variant (String),其中包含字符串中指定数量的字符。

  • 代码实例:

    Private Sub Command1_Click()

        ' 设置“CancelError”为 True

        CommonDialog1.CancelError = True

     租悄   On Error GoTo ErrHandler

        ' 设置标志

        CommonDialog1.Flags = cdlOFNHideReadOnly

        ' 设置过滤器

        CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files" & "(*.txt)|*.txt|Batch Files (*.bat)|*.bat"

        ' 指定缺省的过滤器

        CommonDialog1.FilterIndex = 2

        ' 显示“打开”对话框

        CommonDialog1.ShowOpen

        ' 显示选定文件的扩展名

        Debug.Print Mid(CommonDialog1.FileName, InStr(CommonDialog1.FileName, ".") + 1)

        Exit Sub

    ErrHandler:

        ' 用户按了“取消”按钮

        Exit Sub

    End Sub

枫叶剪影
2010-04-08 · TA获得超过115个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:122万
展开全部
文件保存对话框是使用SaveFileDialog类,SaveFileDialog类的结构OpenFileDialog类的结构非常相似。以下是SaveFileDialog类的主要属性及其说明:

属性: 说明:
AddExtension 该值指示如果用户省略扩展名,对话框是否自动在文件名中添加扩展名。
CheckFileExists 该值指示如果用户指定不存在的文件名,对话框是否显示警告。
CheckPathExists 该值指示如果用户指定不存在的路径,对话框是否显示念坦警告。
CreatePrompt 该值指示如果用户指定不存在的文件,对话框是否提示用户允许创建该文件。
DefaultExt 获取或设置默认文件扩展名。
DereferenceLinks 该值指示对话框是否返回快捷方式引用的文态则件的位置,或者是否返回快捷方式
FileName 获取或设置一个包含在文件对话框中选定的文件名的字符串。
FileNames 获取对话框中所有选定文件的文件名。
Filter 获取或设置当前文件名筛选器字帆高棚符串,该字符串决定对话框的"另存为文件类型"或"文件类型"框中出现的选择内容。
FilterIndex 获取或设置文件对话框中当前选定筛选器的索引。
InitialDirectory 获取或设置文件对话框显示的初始目录。
OverwritePrompt 该值指示如果用户指定已存在的文件名,"另存为"对话框是否显示警告。
RestoreDirectory 该值指示对话框在关闭前是否还原当前目录。
ShowHelp 该值指示文件对话框中是否显示"帮助"按钮。
DialogTitle 获取或设置文件对话框标题。
==================================================
希望对你有用。。

例:
'C 为 CommonDialog1
Private Sub Command1_Click()
Dim k#
C.FileName = Format(Now, "yyyymmddhhmmss")
C.Filter = "BMP 图像|*.bmp|JPG 图片|*.jpg"
C.DialogTitle = "保存文件"
C.ShowSave
FileName = C.FileName
k = C.FilterIndex
If k = 1 Then
'你要保存为 bmp 格式的代码.....
SavePicture Picture1.Image, FileName
End If
If k = 2 Then
'你要保存为 jpg 格式的代码.....
SavePicture Picture1.Image, FileName
End If
'...
'...
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luomandick
推荐于2016-03-19 · TA获得超过1175个赞
知道小有建树答主
回答量:902
采纳率:0%
帮助的人:716万
展开全部
commondialog是不会有那键祥个稿清搏属性的,除非你用Api函数sendmessage 获得那个下拉列表的具体选项。不过那个没有必要的,你只要加下面的代码也可以正返判断的:
print "文件类型" & Right(commondialog1.filename,3) & "格式"
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
smh1982
2010-04-07 · TA获得超过843个赞
知道小有建树答主
回答量:1578
采纳率:0%
帮助的人:888万
展开全部
会返回完整的扩展名,自己去读取判断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友740e59274
2010-04-08 · TA获得超过783个赞
知道小有建树答主
回答量:549
采纳率:0%
帮助的人:0
展开全部
Filterindex

'下例显示“打开”对话框然后在信息框中显示所选的文件名:

Private Sub Command1_Click()
' 设置“胡拦CancelError”为 True
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
' 设置标志
CommonDialog1.Flags = cdlOFNHideReadOnly
' 设置过滤器
CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files" & _
"(*.txt)|*.txt|Batch Files (*.bat)|*.bat"
' 指定缺省的过滤器
CommonDialog1.FilterIndex = 2
' 显示“尘茄打开”对话框
CommonDialog1.ShowOpen
' 显示选定文件的名字
MsgBox CommonDialog1.FileName
Exit Sub

ErrHandler:
' 用户按了“取消”按钮
Exit Sub
End Sub

'vb中通用对话框FilterIndex功能是
'指定缺省的过滤器为"*.txt"
'CommonDialog1.FilterIndex = 2
'指定缺省的过滤器为"裤兄胡*.*"
'CommonDialog1.FilterIndex =1
'指定缺省的过滤器为"*.bat"
'CommonDialog1.FilterIndex = 3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式