VB的通用对话框 如何返回用户选择的文件类型
不知道commondialog哪个属性可以返回
求教!!!!!!! 展开
推荐于2016-10-05 · 知道合伙人软件行家
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
属性: 说明:
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
print "文件类型" & Right(commondialog1.filename,3) & "格式"
'下例显示“打开”对话框然后在信息框中显示所选的文件名:
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